.MKDocs_Build: image: python:3.7.5-buster stage: build variables: GIT_DEPTH: 0 MKDOCS_BUILD_PATH: build MKDOCS_SOURCE_PATH: pages DEFAULT_ROOT_DIR: './gitlab-ci' before_script: - mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME" - if [ "0$JOB_ROOT_DIR" == "0" ]; then ROOT_DIR=$DEFAULT_ROOT_DIR; else ROOT_DIR=$JOB_ROOT_DIR ; fi - echo "[DEBUG] ROOT_DIR[$ROOT_DIR]" - if [ ! -f "requirements.txt" ]; then pip install --upgrade pip -r $ROOT_DIR/mkdocs/requirements.txt; fi - if [ -f "requirements.txt" ]; then pip install --upgrade pip -r $ROOT_DIR/mkdocs/requirements.txt; pip install -r requirements.txt; fi script: - mkdocs build --clean --strict - mv "$MKDOCS_BUILD_PATH" "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$MKDOCS_BUILD_PATH" - if [ "0$MKDOCS_INCLUDE_SOURCE" != "0" ]; then cp $MKDOCS_SOURCE_PATH "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$MKDOCS_SOURCE_PATH"; fi - ls -laR "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME" artifacts: expire_in: 24 hrs paths: - "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME" rules: - if: '$JOB_STOP_MKDOCS_BUILD' when: never - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' when: never - if: $CI_COMMIT_TAG when: on_success - if: '$CI_COMMIT_BRANCH' exists: - "mkdocs.yaml" - "mkdocs.yml" when: always - when: never