Skip to content
Extraits de code Groupes Projets
.gitlab-ci.yml 1,79 ko
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"
Vincent-Xavier Jumel's avatar
Vincent-Xavier Jumel a validé
build:
  stage: build
  before_script:
    - python -m venv .venv
    - source .venv/bin/activate
Sylvain Melot's avatar
Sylvain Melot a validé
    - apk add git
Sylvain Melot's avatar
Sylvain Melot a validé
    - python -m pip install --upgrade pip
    - pip install -r requirements.txt
Sylvain Melot's avatar
Sylvain Melot a validé
    - pip install git+https://github.com/Epithumia/mkdocs-sqlite-console.git
Vincent-Xavier Jumel's avatar
Vincent-Xavier Jumel a validé
  script:
    - |
      if [ $CI_COMMIT_REF_NAME = "main" ] ; then
        mkdocs build
      else
        mkdocs build --no-directory-urls
      fi
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_REF_NAME == 'main'
Vincent-Xavier Jumel's avatar
Vincent-Xavier Jumel a validé
  artifacts:
    paths:
pages:review:
  stage: review
  script:
    - mv site public
Vincent-Xavier Jumel's avatar
Vincent-Xavier Jumel a validé
  needs:
    - job: build
      artifacts: true
  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
  script:
    - mv site public
  needs:
    - job: build
      artifacts: true
    - job: pages:review:stop
      optional: true
  dependencies:
    - build
  rules:
    - if: $CI_MERGE_REQUEST_APPROVED && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"
    - if: $CI_COMMIT_REF_NAME == 'main'
Vincent-Xavier Jumel's avatar
Vincent-Xavier Jumel a validé
  artifacts:
    paths:
      - public