add CI to build bookdown

This commit is contained in:
Vicky Rampin 2021-06-13 14:22:19 +00:00
parent 743ad36b63
commit aeb964c3a3
1 changed files with 16 additions and 38 deletions

View File

@ -1,40 +1,18 @@
# This file is a template, and might need editing before it works on your project. image: rocker/tidyverse:4.0.0
# This is a sample GitLab CI/CD configuration file that should run without any modifications.
# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
# it uses echo commands to simulate the pipeline execution.
#
# A pipeline is composed of independent jobs that run scripts, grouped into stages.
# Stages run in sequential order, but jobs within stages run in parallel.
#
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/README.html#stages
stages: # List of stages for jobs, and their order of execution pages:
- build stage: deploy
- test
- deploy
build-job: # This job runs in the build stage, which runs first.
stage: build
script: script:
- echo "Compiling the code..." - apt-get -y update
- echo "Compile complete. - apt-get -y install wget
- apt-get -y install pandoc
unit-test-job: # This job runs in the test stage. - apt-get -y install pandoc-citeproc
stage: test # It only starts when the job in the build stage completes successfully. - Rscript -e "install.packages(c('rmarkdown', 'bookdown', 'bookdownplus', 'tinytex', 'webshot', 'knitr', 'kableExtra', 'ggpubr', 'stringr'))"
script: - Rscript -e "tinytex::install_tinytex()"
- echo "Running unit tests... This will take about 60 seconds." - Rscript -e "webshot::install_phantomjs()"
- sleep 60 - Rscript -e "bookdown::render_book('index.Rmd', 'all', output_dir = 'public')"
- echo "Code coverage is 90%" artifacts:
paths:
lint-test-job: # This job also runs in the test stage. - public
stage: test # It can run at the same time as unit-test-job (in parallel). only:
script: - main
- echo "Linting code... This will take about 10 seconds."
- sleep 10
- echo "No lint issues found."
deploy-job: # This job runs in the deploy stage.
stage: deploy # It only runs when *both* jobs in the test stage complete successfully.
script:
- echo "Deploying application..."
- echo "Application successfully deployed."