blob: 8e41ab7fe19935228dee22678afdfa3823a5b31f [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
# variables:
# CHROME_VERSION: "114.0.5735.198-1"
build-job:
stage: build
cache:
key: icc
paths:
- ./cache
artifacts:
paths:
- "target/*"
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 inkscape scour poppler-utils
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- dpkg -i google-chrome-stable_current_amd64.deb || apt-get install -y -f
# - wget http://mirror.cs.uchicago.edu/google-chrome/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}_amd64.deb
# - dpkg -i google-chrome-stable_${CHROME_VERSION}_amd64.deb || apt-get install -y -f
- locale-gen de_DE.utf8 en_GB.utf8 en_US.utf8
- end_section install_linux_packages
- start_section testing_chromium "Testing chromium PDF export"
- ./ci/html2pdf https://google.com test.pdf 1
- ls -l ./test.pdf
- end_section testing_chromium
- start_section install_fonts "Installing Libertinus and Fira fonts"
- wget -O- https://github.com/mozilla/Fira/archive/refs/tags/4.202.tar.gz | tar -C /usr/share/fonts -zx --wildcards "*.otf"
- fc-cache
- end_section install_fonts
- start_section install_r_packages "Installing missing R packages"
- R -e "install.packages(c('devtools', 'scales', 'sp', 'raster', 'kableExtra', 'DT', 'svglite', 'qrcode'))"
- R -e 'devtools::install_git("https://korap.ids-mannheim.de/gerrit/IDS-Mannheim/idsThemeR")'
- R -e 'devtools::install_git("https://korap.ids-mannheim.de/gerrit/IDS-Mannheim/posterdown")'
- end_section install_r_packages
script:
- start_section installing "Installing posterdown (ids)"
- R -e 'devtools::install()'
- end_section installing
- start_section render "Generating demo artifacts"
- R_CACHE_ROOTPATH=./cache R -e "require(rmarkdown); render('inst/rmarkdown/templates/posterdown_ids/skeleton/skeleton.Rmd', output_format='posterdown::posterdown_ids', output_dir='target')"
- ./ci/html2pdf target/skeleton.html target/skeleton.pdf 1
- inkscape -b white --pdf-poppler -o target/skeleton.svg target/skeleton.pdf || true
- scour -i target/skeleton.svg -o target/skeleton_optimized.svg --enable-viewboxing --enable-id-stripping --shorten-ids --indent=none
- end_section render