variables: GIT_DEPTH: 50 QUARTO_VERSION: 1.4.553 workflow: # these rules ensure that whenever there's a merge request, a "merge request pipeline" is run, # but otherwise a classical branch-pipeline is run. This enables the use of merge-request specific # environment variables within CI. rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS' when: never - if: '$CI_COMMIT_BRANCH' stages: - test - build run_pre_commit_hooks: tags: - conda stage: test variables: PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit cache: paths: - ${PRE_COMMIT_HOME} script: - python3 -V # Print out python version for debugging - python3 -m pip install pre-commit - echo running pre-commit for revision range $COMPARE_SOURCE ... HEAD - pre-commit run --from-ref $COMPARE_SOURCE --to-ref HEAD rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' variables: COMPARE_SOURCE: $CI_MERGE_REQUEST_DIFF_BASE_SHA - if: '$CI_COMMIT_BRANCH' variables: COMPARE_SOURCE: HEAD^1 .build: &build stage: build tags: - conda variables: QUARTODEB: quarto_cache/quarto-${QUARTO_VERSION}.deb cache: - key: cache-default paths: - .jupyter_cache - quarto_cache before_script: - mkdir -p quarto_cache - if [ ! -f ${QUARTODEB} ] ; then wget "https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-amd64.deb" -O ${QUARTODEB} ; fi - dpkg -i ${QUARTODEB} - python3 -m pip install -r requirements.txt - quarto check install - quarto check jupyter script: - ./make_presentations artifacts: paths: - public expire_in: 20min preview: extends: .build variables: DEPLOY_URL: https://$CI_PROJECT_NAMESPACE.$CI_PAGES_DOMAIN/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public ICAL_URL: webcal://$CI_PROJECT_NAMESPACE.$CI_PAGES_DOMAIN/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/lectures.ics environment: name: review/$CI_COMMIT_REF_NAME url: $DEPLOY_URL/index.html rules: - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH pages: extends: .build variables: DEPLOY_URL: https://$CI_PROJECT_NAMESPACE.$CI_PAGES_DOMAIN/$CI_PROJECT_NAME ICAL_URL: webcal://$CI_PROJECT_NAMESPACE.$CI_PAGES_DOMAIN/$CI_PROJECT_NAME/lectures.ics environment: name: production url: $DEPLOY_URL rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH