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.
# 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
image: rocker/tidyverse:4.0.0
stages: # List of stages for jobs, and their order of execution
- build
- test
- deploy
build-job: # This job runs in the build stage, which runs first.
stage: build
pages:
stage: deploy
script:
- echo "Compiling the code..."
- echo "Compile complete.
unit-test-job: # This job runs in the test stage.
stage: test # It only starts when the job in the build stage completes successfully.
script:
- echo "Running unit tests... This will take about 60 seconds."
- sleep 60
- echo "Code coverage is 90%"
lint-test-job: # This job also runs in the test stage.
stage: test # It can run at the same time as unit-test-job (in parallel).
script:
- 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."
- apt-get -y update
- apt-get -y install wget
- apt-get -y install pandoc
- apt-get -y install pandoc-citeproc
- Rscript -e "install.packages(c('rmarkdown', 'bookdown', 'bookdownplus', 'tinytex', 'webshot', 'knitr', 'kableExtra', 'ggpubr', 'stringr'))"
- Rscript -e "tinytex::install_tinytex()"
- Rscript -e "webshot::install_phantomjs()"
- Rscript -e "bookdown::render_book('index.Rmd', 'all', output_dir = 'public')"
artifacts:
paths:
- public
only:
- main