Newer
Older
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/${MENTAT_IMAGE}:latest
# Change pip's cache directory to be inside the project directory since we can
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
# https://pip.pypa.io/en/stable/topics/caching/
cache:
paths:
- .cache/pip
artifacts:
when: always
paths:
- errors.log
before_script: []
stage: check-warnings
script:
- "if [[ $(grep DeprecationWarning errors.log) ]]; then cat errors.log; exit 1; fi"
allow_failure: true
rules:
- if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "devel" || $CI_COMMIT_BRANCH == "release"
changes:
- lib/mentat/__init__.py
stage: build
before_script: []
script:
- printf "{\n\"codename\":\"$CI_COMMIT_BRANCH\",\n" > metadata.json
- printf "\"suite\":$(if [ "$CI_COMMIT_BRANCH" == "master" ]; then echo \"stable\"; else echo \"unstable\"; fi),\n" >> metadata.json
- printf "\"bversion\":\"$(make show-version)\",\n" >> metadata.json
- printf "\"revision\":\"$CI_COMMIT_SHA\",\n" >> metadata.json
- printf "\"bnumber\":\"$CI_PIPELINE_ID\",\n" >> metadata.json
- printf "\"bdate\":\"$(date '+%Y-%m-%d %T')\"\n}\n" >> metadata.json
- mv metadata.json doc/sphinx/.
artifacts:
paths:
- doc/sphinx/metadata.json
rules:
- if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "devel" || $CI_COMMIT_BRANCH == "release"
rules:
- if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "devel" || $CI_COMMIT_BRANCH == "release"
changes:
- lib/mentat/__init__.py
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_SUBMODULE_FORCE_HTTPS: "true"
- make docs # Build documentation
- for branch in devel master release; do curl -L --header "JOB-TOKEN:$CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$branch/download?job=pages" -o $branch.zip; done # Download the documentation from devel, master and release branches
- unzip -uo '*.zip' || true # Unzip downloaded documentation while ignoring not existing files
- mkdir -p public/"$CI_COMMIT_BRANCH" # Create directory for docs for this branch if it doesn't exist
- cp -rf doc/sphinx/_build/html public/"$CI_COMMIT_BRANCH" # Copy docs to shared folder used by GitLab to publish Pages
artifacts:
name: "$CI_COMMIT_BRANCH"
paths:
- public
only:
- master
- devel
- release
stage: deploy
script:
- echo "deb job"
rules:
- if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "devel" || $CI_COMMIT_BRANCH == "release"