From 743ad36b63746d50cd819b18877d9b3d92f70309 Mon Sep 17 00:00:00 2001 From: Vicky Rampin Date: Sun, 13 Jun 2021 14:21:34 +0000 Subject: [PATCH 1/2] add CI to build bookdown --- .gitlab-ci.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..c5c386f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,40 @@ +# 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 + +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 + 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." From aeb964c3a356fb834c4819856a8039ec5c3efb5b Mon Sep 17 00:00:00 2001 From: Vicky Rampin Date: Sun, 13 Jun 2021 14:22:19 +0000 Subject: [PATCH 2/2] add CI to build bookdown --- .gitlab-ci.yml | 54 +++++++++++++++----------------------------------- 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c5c386f..87e838d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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