blob: 3d9430f7a707f5d1aaa19e75cf2ef1ecf1d5f484 [file] [log] [blame]
# use the verse rocker image, as it contains tidyverse, devtools and some texlive
image: rocker/tidyverse
# define stages of runner. at the moment,
# just build (no test or deploy).
stages:
- build
build-job:
stage: build
cache:
key: revealjs
paths:
- ./cache
artifacts:
paths:
- "target/*"
- "target/ids_files/*"
before_script:
- source `find .. -name section_helper.sh`
- start_section install_linux_packages "Installing missing Linux packages"
- apt-get update
- apt-get install -y libvulkan1 libu2f-udev fonts-liberation build-essential libglpk40 libcurl4-gnutls-dev libxml2-dev libsodium-dev libsecret-1-dev libfontconfig1-dev libssl-dev libxt6 libpq-dev imagemagick libnss3 libgbm-dev libxss1 libappindicator3-1 libasound2 libatk-bridge2.0-0 libgtk-3-0 libnspr4 libnss3 libgbm-dev ca-certificates curl gnupg
- curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
- NODE_MAJOR=20
- echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
- apt-get update && apt-get install nodejs -y
- node --version
- npm install puppeteer
- locale-gen de_DE.utf8 en_GB.utf8 en_US.utf8
- end_section install_linux_packages
- start_section test_puppeteer "Testing puppeteer"
- ./ci/screenshot https://www.google.com /tmp/google.png
- end_section test_puppeteer
- start_section install_r_packages "Installing missing R packages"
- R -e "install.packages(c('devtools', 'RKorAPClient', 'httr', 'tidytext', 'httpuv', 'scales', 'sp', 'raster', 'kableExtra', 'DT', 'svglite', 'qrcode', 'rsvg', 'highcharter'))"
- R -e 'devtools::install_git("https://korap.ids-mannheim.de/gerrit/IDS-Mannheim/idsThemeR")'
- R -e 'devtools::install(".")'
- end_section install_r_packages
script:
- start_section render "Running scripts"
- R_CACHE_ROOTPATH=./cache R -e "require(rmarkdown); render('examples/ids.Rmd', output_format='revealjs::revealjs_presentation', output_dir='target')"
- ./ci/screenshot file://`pwd`/target/ids.html target/title.png
file://`pwd`/target/ids.html#/light-verb-constructions target/lvc.png
file://`pwd`/target/ids.html#/registered-users target/users.png
file://`pwd`/target/ids.html#/references target/references.png
- end_section render