# 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
    - 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
    - locale-gen de_DE.utf8 en_GB.utf8 en_US.utf8
    - end_section install_linux_packages


    - 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', '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 target/ids.html target/title.png
    - ./ci/screenshot file://`pwd`/target/ids.html#/light-verb-constructions target/lvc.png
    - ./ci/screenshot file://`pwd`/target/ids.html#/registered-users target/users.png
    - ./ci/screenshot file://`pwd`/target/ids.html#/references target/references.png
    - end_section render
