this allows the built files to always be available under the latest tag job for downloading by the parent site. !41
88 lines
2.8 KiB
YAML
88 lines
2.8 KiB
YAML
.MKDocs_Build:
|
|
image: python:3.7.5-buster
|
|
stage: build
|
|
variables:
|
|
GIT_DEPTH: 0
|
|
MKDOCS_BUILD_PATH: build
|
|
MKDOCS_SOURCE_PATH: docs
|
|
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
|
|
- if [ -f "website-template/requirements.txt" ]; then pip install --upgrade pip -r $ROOT_DIR/mkdocs/requirements.txt; pip install -r website-template/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: # condition_any_branch_push
|
|
$CI_COMMIT_BRANCH != null &&
|
|
$CI_COMMIT_TAG == null &&
|
|
$CI_PIPELINE_SOURCE == "push"
|
|
exists:
|
|
- 'mkdocs.{yaml,yml}'
|
|
when: always
|
|
|
|
- when: never
|
|
|
|
|
|
.MKDocs_Build_Docs:
|
|
extends: .MKDocs_Build
|
|
variables:
|
|
MKDOCS_SOURCE_PATH: docs
|
|
rules:
|
|
- if: '$JOB_STOP_MKDOCS_BUILD'
|
|
when: never
|
|
|
|
# Build docs on tag so they can be downloaded from the tag job and are always available.
|
|
- if: # condition_git_tag
|
|
$CI_COMMIT_TAG != null &&
|
|
$CI_COMMIT_BRANCH == null
|
|
exists:
|
|
- '{docs/**,pages/**}/*.md'
|
|
when: always
|
|
|
|
- if: # condition_master_branch_push
|
|
$CI_COMMIT_BRANCH == "master" &&
|
|
$CI_PIPELINE_SOURCE == "push"
|
|
exists:
|
|
- '{docs/**,pages/**}/*.md'
|
|
when: always
|
|
|
|
- if: # condition_dev_branch_push
|
|
$CI_COMMIT_BRANCH == "development" &&
|
|
$CI_PIPELINE_SOURCE == "push"
|
|
exists:
|
|
- '{docs/**,pages/**}/*.md'
|
|
changes:
|
|
paths:
|
|
- '{docs/**,pages/**}/*.md'
|
|
compare_to: 'master'
|
|
when: always
|
|
|
|
- if: # condition_not_master_or_dev_push
|
|
$CI_COMMIT_BRANCH != "master" &&
|
|
$CI_COMMIT_BRANCH != "development" &&
|
|
$CI_PIPELINE_SOURCE == "push"
|
|
exists:
|
|
- '{docs/**,pages/**}/*.md'
|
|
changes:
|
|
paths:
|
|
- '{docs/**,pages/**}/*.md'
|
|
compare_to: 'development'
|
|
when: always
|
|
|
|
- when: never
|
|
|