blob: d67231cdc676bf5565580f38b4ac8eb3c2f07591 [file] [log] [blame]
stages:
- build-and-test
- build-docker-image
build-and-test:
image: rocker/tidyverse
stage: build-and-test
cache:
key: korap
paths:
- ./cache
before_script:
- source `find .. -name section_helper.sh`
- start_section install_linux_packages "Installing missing Linux packages"
- apt-get update
- apt-get install -y libu2f-udev build-essential libglpk40 libcurl4-gnutls-dev libxml2-dev libsodium-dev libsecret-1-dev libfontconfig1-dev libssl-dev libxt6 libpq-dev curl
- end_section install_linux_packages
- start_section install_r_packages "Installing missing R packages"
- R -e "install.packages(c('devtools', 'RKorAPClient', 'httr', 'shiny', 'shinythemes', 'highcharter'))"
- R -e 'devtools::install_git("https://korap.ids-mannheim.de/gerrit/IDS-Mannheim/idsThemeR")'
- end_section install_r_packages
script:
- start_section render "Running scripts"
- echo 'options(shiny.port=18000)' >> ~/.Rprofile
- R_CACHE_ROOTPATH=./cache Rscript shiny/app.R &
- PID=$!
- sleep 10
- curl http://127.0.0.1:18000/
- kill $PID
- end_section render
build-docker-image:
image: docker:latest
services:
- docker:dind
rules:
- if: $CI_COMMIT_TAG =~ /.+/
variables:
VID: $CI_COMMIT_TAG
- when: manual
variables:
VID_ALT: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
VID: snapshot
stage: build-docker-image
cache:
key: korap
paths:
- cache/
before_script:
- mkdir -p cache
- apk update
- apk add --no-cache git
- >
apk add -u curl
&& curl -L -o ds.tar.gz https://downloads.dockerslim.com/releases/1.40.6/dist_linux.tar.gz
&& tar -xvf ds.tar.gz
&& mv dist_linux/* /usr/local/bin/
script:
- docker build -f Dockerfile -t korap/corpuscomposition:$VID .
- docker run -d --rm --name corpuscomposition korap/corpuscomposition:$VID
- docker cp corpuscomposition:/cache ./
- docker kill corpuscomposition
- slim build --sensor-ipc-mode proxy --http-probe-off --include-path /usr/local --include-path /cache korap/corpuscomposition
- docker save korap/corpuscomposition.slim | xz -T0 > corpuscomposition-$VID.xz
artifacts:
paths:
- corpuscomposition-$VID.xz