Newer
Older
image: python:3.10-alpine
stages:
- build
- review
- deploy
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
EDIT_VARIABLE: "$CI_PROJECT_URL/-/tree/main/docs"
cache:
paths:
- .cache/pip
- python -m venv .venv
- source .venv/bin/activate
- pip install -r requirements.txt
- pip install git+https://github.com/Epithumia/mkdocs-sqlite-console.git
- |
if [ $CI_COMMIT_REF_NAME = "main" ] ; then
mkdocs build
else
mkdocs build --no-directory-urls
fi
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
pages:review:
stage: review
script:
- mv site public
dependencies:
- build
artifacts:
paths:
- public
rules:
- if: $CI_MERGE_REQUEST_ID
environment:
name: review/$CI_COMMIT_REF_NAME
url: "https://$CI_PROJECT_ROOT_NAMESPACE.$CI_PAGES_DOMAIN/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/"
auto_stop_in: 1 week
on_stop: pages:review:stop
pages:review:stop:
stage: review
environment:
name: review/$CI_COMMIT_REF_NAME
action: stop
script: echo "stop pages review"
rules:
- if: $CI_MERGE_REQUEST_ID
when:
manual
needs:
- job: pages:review
allow_failure: false
pages:
stage: deploy
needs:
- job: build
artifacts: true
- job: pages:review:stop
dependencies:
- build
rules:
- if: $CI_MERGE_REQUEST_APPROVED && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"