blob: 69364f37069a3a72478d09521efe4677139d2701 [file] [log] [blame]
Marc Kupietzce1aa0c2023-06-15 07:50:23 +02001# use the verse rocker image, as it contains tidyverse, devtools and some texlive
Marc Kupietzd0e1b3a2023-06-16 15:12:25 +02002image: rocker/tidyverse
Marc Kupietzce1aa0c2023-06-15 07:50:23 +02003
4# define stages of runner. at the moment,
5# just build (no test or deploy).
6stages:
7 - build
8
Marc Kupietz18a120c2024-04-30 21:04:33 +02009# variables:
10# CHROME_VERSION: "114.0.5735.198-1"
11
Marc Kupietzce1aa0c2023-06-15 07:50:23 +020012build-job:
13 stage: build
14
15 cache:
16 key: icc
17 paths:
18 - ./cache
19
20 artifacts:
21 paths:
22 - "target/*"
Marc Kupietzce1aa0c2023-06-15 07:50:23 +020023 before_script:
24 - source `find .. -name section_helper.sh`
25
26 - start_section install_linux_packages "Installing missing Linux packages"
27 - apt-get update
Marc Kupietze2d5d232024-05-29 18:25:00 +020028 - 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 fonts-stix
Marc Kupietzd0e1b3a2023-06-16 15:12:25 +020029 - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
30 - dpkg -i google-chrome-stable_current_amd64.deb || apt-get install -y -f
Marc Kupietz18a120c2024-04-30 21:04:33 +020031# - wget http://mirror.cs.uchicago.edu/google-chrome/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}_amd64.deb
32# - dpkg -i google-chrome-stable_${CHROME_VERSION}_amd64.deb || apt-get install -y -f
Marc Kupietzce1aa0c2023-06-15 07:50:23 +020033 - locale-gen de_DE.utf8 en_GB.utf8 en_US.utf8
34 - end_section install_linux_packages
35
Marc Kupietzd0e1b3a2023-06-16 15:12:25 +020036 - start_section testing_chromium "Testing chromium PDF export"
37 - ./ci/html2pdf https://google.com test.pdf 1
38 - ls -l ./test.pdf
39 - end_section testing_chromium
40
Marc Kupietzce1aa0c2023-06-15 07:50:23 +020041 - start_section install_fonts "Installing Libertinus and Fira fonts"
42 - wget -O- https://github.com/mozilla/Fira/archive/refs/tags/4.202.tar.gz | tar -C /usr/share/fonts -zx --wildcards "*.otf"
43 - fc-cache
44 - end_section install_fonts
45
Marc Kupietzce1aa0c2023-06-15 07:50:23 +020046 - start_section install_r_packages "Installing missing R packages"
Marc Kupietzd69b9fa2024-05-02 12:46:35 +020047 - echo -e 'local({r <- getOption("repos")\n r["CRAN"] <- "https://cloud.r-project.org"\n options(repos=r)})' > ~/.Rprofile
48 - echo "options(Ncpus=$(nproc))" >> ~/.Rprofile
Marc Kupietz89458752024-05-02 12:17:46 +020049 - R -e "install.packages(c('devtools', 'scales', 'sp', 'raster', 'kableExtra', 'DT', 'svglite', 'qrcode'), dependencies=TRUE)"
50 - R -e 'devtools::install_git("https://korap.ids-mannheim.de/gerrit/IDS-Mannheim/idsThemeR", dependencies=TRUE)'
51 - R -e 'devtools::install_git("https://korap.ids-mannheim.de/gerrit/IDS-Mannheim/posterdown", dependencies=TRUE)'
Marc Kupietzce1aa0c2023-06-15 07:50:23 +020052 - end_section install_r_packages
53
54 script:
Marc Kupietza39d0cc2024-05-31 12:45:45 +020055 - start_section installing "Installing posterdown.ids"
Marc Kupietzce1aa0c2023-06-15 07:50:23 +020056 - R -e 'devtools::install()'
57 - end_section installing
58 - start_section render "Generating demo artifacts"
Marc Kupietza39d0cc2024-05-31 12:45:45 +020059 - R_CACHE_ROOTPATH=./cache R -e "require(rmarkdown); render('inst/rmarkdown/templates/posterdown_ids/skeleton/skeleton.Rmd', output_format='posterdown.ids::posterdown_ids', output_dir='target')"
Marc Kupietzce1aa0c2023-06-15 07:50:23 +020060 - ./ci/html2pdf target/skeleton.html target/skeleton.pdf 1
61 - inkscape -b white --pdf-poppler -o target/skeleton.svg target/skeleton.pdf || true
62 - scour -i target/skeleton.svg -o target/skeleton_optimized.svg --enable-viewboxing --enable-id-stripping --shorten-ids --indent=none
63 - end_section render
64