add CI to build bookdown
This commit is contained in:
parent
743ad36b63
commit
aeb964c3a3
|
@ -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."
|
|
||||||
|
|
Loading…
Reference in New Issue