feat(ci_rules): add exists and changes for rules
now defined jobs check for existance of file and for changes to launch a job !41 #32
This commit is contained in:
@ -114,11 +114,8 @@ PyLint:
|
|||||||
|
|
||||||
|
|
||||||
gilab-ci.yml Lint (python 3.11):
|
gilab-ci.yml Lint (python 3.11):
|
||||||
variables:
|
|
||||||
YAML_LINT_PATH: ".gitlab-ci* ./**/*gitlab-ci*"
|
|
||||||
YAML_LINT_EXTRA_ARGS: "{ extends: lint/.yamllint.yaml, ignore: [website-template/*] }"
|
|
||||||
extends:
|
extends:
|
||||||
- .yaml_lint_defaults
|
- .Gitlab_CI.Lint.YAML
|
||||||
image: python:3.11-slim
|
image: python:3.11-slim
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,15 +25,20 @@ include:
|
|||||||
rules:
|
rules:
|
||||||
- if: '$NFC_AUTO_JOBS == "false"'
|
- if: '$NFC_AUTO_JOBS == "false"'
|
||||||
when: never
|
when: never
|
||||||
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "schedule" && $PIPELINE_RUN_SCHEDULE == "true"'
|
- if: '$CI_PIPELINE_SOURCE == "schedule" && $PIPELINE_RUN_SCHEDULE == "true"'
|
||||||
exists:
|
exists:
|
||||||
- ".nfc_automation.yaml"
|
- ".nfc_automation.yaml"
|
||||||
when: always
|
when: always
|
||||||
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $PIPELINE_RUN_TRIGGER == "true"'
|
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $PIPELINE_RUN_TRIGGER == "true"'
|
||||||
exists:
|
exists:
|
||||||
- ".nfc_automation.yaml"
|
- ".nfc_automation.yaml"
|
||||||
when: always
|
when: always
|
||||||
- if: "$CI_COMMIT_BRANCH == 'development'" # on push to dev run to chek for update
|
|
||||||
|
- if: # condition_dev_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- ".nfc_automation.yaml"
|
- ".nfc_automation.yaml"
|
||||||
when: always
|
when: always
|
||||||
@ -58,6 +63,13 @@ include:
|
|||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_TAG
|
- if: $CI_COMMIT_TAG
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_COMMIT_BRANCH == "development" && $CI_PIPELINE_SOURCE == "push"'
|
|
||||||
|
- if: # condition_master_or_dev_push
|
||||||
|
(
|
||||||
|
$CI_COMMIT_BRANCH == "master" ||
|
||||||
|
$CI_COMMIT_BRANCH == "development"
|
||||||
|
)&&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
when: on_success
|
when: on_success
|
||||||
|
|
||||||
- when: never
|
- when: never
|
@ -46,22 +46,15 @@
|
|||||||
rules:
|
rules:
|
||||||
- if: '$JOB_STOP_CONVENTIONAL_COMMITS'
|
- if: '$JOB_STOP_CONVENTIONAL_COMMITS'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
- if: # condition_any_branch_push
|
||||||
- if: '$CI_COMMIT_TAG'
|
$CI_COMMIT_BRANCH != null &&
|
||||||
when: never
|
$CI_COMMIT_TAG == null &&
|
||||||
- if: "$CI_COMMIT_AUTHOR =='nfc_bot <helpdesk@nofusscomputing.com>'"
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
when: never
|
|
||||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
exists:
|
|
||||||
- .cz.yaml
|
|
||||||
when: always
|
|
||||||
- if: '$CI_COMMIT_BRANCH &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
exists:
|
exists:
|
||||||
- .cz.yaml
|
- .cz.yaml
|
||||||
when: always
|
when: always
|
||||||
|
|
||||||
- when: never
|
- when: never
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,24 +96,35 @@ variables:
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
|
||||||
- if: $CI_COMMIT_TAG
|
|
||||||
exists:
|
|
||||||
- dockerfile
|
|
||||||
- dockerfile.j2
|
|
||||||
when: on_success
|
|
||||||
- if: '$CI_COMMIT_BRANCH == "development" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
exists:
|
|
||||||
- dockerfile
|
|
||||||
- dockerfile.j2
|
|
||||||
when: on_success
|
|
||||||
- if: '$CI_COMMIT_BRANCH != "master" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
exists:
|
|
||||||
- dockerfile
|
|
||||||
- dockerfile.j2
|
|
||||||
when: always
|
|
||||||
- when: never
|
|
||||||
|
|
||||||
|
- if: # condition_master_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
- '{dockerfile, dockerfile.j2}'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- if: # condition_dev_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
- '{dockerfile, dockerfile.j2}'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{dockerfile, dockerfile.j2, includes**/**}'
|
||||||
|
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:
|
||||||
|
- '{dockerfile, dockerfile.j2}'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{dockerfile, dockerfile.j2, includes**/**}'
|
||||||
|
compare_to: 'devlopment'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
@ -94,24 +94,31 @@
|
|||||||
name: DockerHub
|
name: DockerHub
|
||||||
url: $DOCKER_IMAGE_PUBLISH_URL
|
url: $DOCKER_IMAGE_PUBLISH_URL
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
- if: # condition_git_tag
|
||||||
- if: $CI_COMMIT_TAG
|
$CI_COMMIT_TAG != null &&
|
||||||
|
$CI_COMMIT_BRANCH == null
|
||||||
exists:
|
exists:
|
||||||
- dockerfile
|
- '{dockerfile, dockerfile.j2}'
|
||||||
- dockerfile.j2
|
|
||||||
when: on_success
|
when: on_success
|
||||||
- if: '$CI_COMMIT_BRANCH == "development" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
- if: # condition_master_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- dockerfile
|
- '{dockerfile, dockerfile.j2}'
|
||||||
- dockerfile.j2
|
when: always
|
||||||
when: on_success
|
|
||||||
- if: '$CI_COMMIT_BRANCH != "master" &&
|
- if: # condition_dev_branch_push
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- dockerfile
|
- '{dockerfile, dockerfile.j2}'
|
||||||
- dockerfile.j2
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{dockerfile, dockerfile.j2, includes**/**}'
|
||||||
|
compare_to: 'master'
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
when: manual
|
when: manual
|
||||||
|
|
||||||
- when: never
|
- when: never
|
||||||
|
@ -16,6 +16,7 @@ about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
|||||||
|
|
||||||
- other sub folders are for `` which **DO NOT** automagically create jobs, but are pure definitions only.
|
- other sub folders are for `` which **DO NOT** automagically create jobs, but are pure definitions only.
|
||||||
|
|
||||||
|
- notate how each of the stages run and under what circumstance. *i.e. gitlab-ci.yml rules.exist/rules.changes*
|
||||||
|
|
||||||
## CI Stages
|
## CI Stages
|
||||||
|
|
||||||
|
@ -17,12 +17,16 @@
|
|||||||
rules:
|
rules:
|
||||||
- if: '$JOB_STOP_GIT_PUSH_MIRROR'
|
- if: '$JOB_STOP_GIT_PUSH_MIRROR'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_COMMIT_TAG && $GIT_SYNC_URL != null'
|
|
||||||
when: always
|
|
||||||
- if: '$CI_COMMIT_BRANCH == "master" && $GIT_SYNC_URL != null &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
- if: '$CI_COMMIT_BRANCH == "development" && $GIT_SYNC_URL != null &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
when: always
|
|
||||||
- when: never
|
|
||||||
|
|
||||||
|
- if: $GIT_SYNC_URL == null
|
||||||
|
when: never
|
||||||
|
|
||||||
|
- if: # condition_master_or_dev_push
|
||||||
|
(
|
||||||
|
$CI_COMMIT_BRANCH == "master" ||
|
||||||
|
$CI_COMMIT_BRANCH == "development"
|
||||||
|
) &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
@ -46,20 +46,22 @@
|
|||||||
rules:
|
rules:
|
||||||
- if: '$JOB_STOP_GITLAB_RELEASE'
|
- if: '$JOB_STOP_GITLAB_RELEASE'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_COMMIT_TAG'
|
|
||||||
when: never
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
|
||||||
- if: "$CI_COMMIT_AUTHOR =='nfc_bot <helpdesk@nofusscomputing.com>'"
|
- if: "$CI_COMMIT_AUTHOR =='nfc_bot <helpdesk@nofusscomputing.com>'"
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
- if: # condition_master_branch_push
|
||||||
when: on_success
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
allow_failure: false
|
allow_failure: false
|
||||||
- if: '$CI_COMMIT_BRANCH == "development" &&
|
when: on_success
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
|
- if: # condition_dev_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
when: manual
|
when: manual
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
# for testing
|
# for testing
|
||||||
# - if: '$CI_COMMIT_BRANCH != "master"'
|
# - if: '$CI_COMMIT_BRANCH != "master"'
|
||||||
# when: always
|
# when: always
|
||||||
@ -100,12 +102,19 @@ commit footer refs:
|
|||||||
rules:
|
rules:
|
||||||
- if: '$JOB_STOP_CONVENTIONAL_COMMITS'
|
- if: '$JOB_STOP_CONVENTIONAL_COMMITS'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_COMMIT_BRANCH == "development" || $CI_COMMIT_BRANCH == "master"'
|
|
||||||
|
- if: $CHANGELOG_FOOTER_REFERENCES == "False"
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_COMMIT_BRANCH && $CHANGELOG_FOOTER_REFERENCES != "False" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
# - if: '$CI_COMMIT_BRANCH == "development" || $CI_COMMIT_BRANCH == "master"'
|
||||||
|
# when: never
|
||||||
|
|
||||||
|
- if: # condition_any_branch_push
|
||||||
|
$CI_COMMIT_BRANCH != null &&
|
||||||
|
$CI_COMMIT_TAG == null &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- .cz.yaml
|
- .cz.yaml
|
||||||
when: always
|
when: always
|
||||||
- when: never
|
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
@ -33,23 +33,38 @@
|
|||||||
junit:
|
junit:
|
||||||
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/*.junit.xml"
|
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/*.junit.xml"
|
||||||
rules:
|
rules:
|
||||||
|
|
||||||
- if: '$JOB_STOP_ANSIBLE_LINT'
|
- if: '$JOB_STOP_ANSIBLE_LINT'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
|
||||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
exists:
|
|
||||||
- 'tasks/main.yaml'
|
|
||||||
when: always
|
|
||||||
- if: '$CI_COMMIT_TAG'
|
|
||||||
exists:
|
|
||||||
- 'tasks/main.yaml'
|
|
||||||
when: always
|
|
||||||
- if: '$CI_COMMIT_BRANCH &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
exists:
|
|
||||||
- 'tasks/main.yaml'
|
|
||||||
when: always
|
|
||||||
- when: never
|
|
||||||
|
|
||||||
|
- if: # condition_master_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
- '{defaults/**,handlers/**,meta/**,tasks/**}/*.yaml'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- if: # condition_dev_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
- '{defaults/**,handlers/**,meta/**,tasks/**}/*.yaml'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{defaults/**,handlers/**,meta/**,tasks/**}/*.yaml'
|
||||||
|
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:
|
||||||
|
- '{defaults/**,handlers/**,meta/**,tasks/**}/*.yaml'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{defaults/**,handlers/**,meta/**,tasks/**}/*.yaml'
|
||||||
|
compare_to: 'development'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
@ -29,11 +29,18 @@
|
|||||||
junit:
|
junit:
|
||||||
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/lint_markdown/*.junit.xml"
|
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/lint_markdown/*.junit.xml"
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_COMMIT_BRANCH &&
|
- if: '$JOB_STOP_LINT_MARKDOWN'
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
when: never
|
||||||
|
|
||||||
|
- if: # condition_any_branch_push
|
||||||
|
$CI_COMMIT_BRANCH != null &&
|
||||||
|
$CI_COMMIT_TAG == null &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- "**.md"
|
# - "**.md"
|
||||||
- "**/**.md"
|
# - "**/**.md"
|
||||||
|
- '{!docs/**,!pages/**,!gitlab-ci/**, !website-template/**, **}/*.md'
|
||||||
|
when: always
|
||||||
- when: never
|
- when: never
|
||||||
|
|
||||||
|
|
||||||
@ -43,17 +50,38 @@
|
|||||||
MD_LINT_CONFIG_PATH: "$CI_PROJECT_DIR/website-template"
|
MD_LINT_CONFIG_PATH: "$CI_PROJECT_DIR/website-template"
|
||||||
extends: .Lint_Markdown
|
extends: .Lint_Markdown
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
- if: '$JOB_STOP_LINT_MARKDOWN_DOCS'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_COMMIT_TAG'
|
|
||||||
|
- if: # condition_master_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- "docs/index.md"
|
- '{docs/**,pages/**}/*.md'
|
||||||
- "pages/index.md"
|
|
||||||
when: always
|
when: always
|
||||||
- if: '$CI_COMMIT_BRANCH &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
- if: # condition_dev_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- "docs/index.md"
|
- '{docs/**,pages/**}/*.md'
|
||||||
- "pages/index.md"
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{docs/**,pages/**}/*.md'
|
||||||
|
compare_to: 'master'
|
||||||
when: always
|
when: always
|
||||||
- when: never
|
|
||||||
|
- if: # condition_not_master_or_dev_push
|
||||||
|
$CI_COMMIT_BRANCH != "master" &&
|
||||||
|
$CI_COMMIT_BRANCH != "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
- '{docs/**,pages/**}/*.md' # works
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
#- '{docs/*,pages/*}*.md'
|
||||||
|
- '{docs/**,pages/**}/*.md'
|
||||||
|
compare_to: 'development'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
@ -1,49 +1,108 @@
|
|||||||
|
|
||||||
.yaml_lint_defaults:
|
.yaml_lint_defaults:
|
||||||
variables:
|
variables:
|
||||||
YAML_LINT_PATH: "."
|
YAML_LINT_PATH: "."
|
||||||
YAML_LINT_EXTRA_ARGS: "{ extends: $ROOT_DIR/lint/.yamllint.yaml, ignore: [gitlab-ci/*] }"
|
YAML_LINT_EXTRA_ARGS: "{ extends: $ROOT_DIR/lint/.yamllint.yaml, ignore: [gitlab-ci/*, website-template/*] }"
|
||||||
stage: validation
|
stage: validation
|
||||||
before_script:
|
before_script:
|
||||||
- if [ "0$JOB_ROOT_DIR" == "0" ]; then ROOT_DIR=gitlab-ci; else ROOT_DIR=$JOB_ROOT_DIR ; fi
|
- if [ "0$JOB_ROOT_DIR" == "0" ]; then ROOT_DIR=gitlab-ci; else ROOT_DIR=$JOB_ROOT_DIR ; fi
|
||||||
- echo "[DEBUG] ROOT_DIR[$ROOT_DIR]"
|
- echo "[DEBUG] ROOT_DIR[$ROOT_DIR]"
|
||||||
- mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME"
|
- mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME"
|
||||||
- mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests"
|
- mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests"
|
||||||
- export PYTHON_VERSION=`python -c 'import sys; version=sys.version_info[:3]; print("{0}.{1}.{2}".format(*version))'`
|
- export PYTHON_VERSION=`python -c 'import sys; version=sys.version_info[:3]; print("{0}.{1}.{2}".format(*version))'`
|
||||||
- apt update
|
- apt update
|
||||||
- apt install --no-install-recommends -y git
|
- apt install --no-install-recommends -y git
|
||||||
- python3 -m venv env
|
- python3 -m venv env
|
||||||
- . env/bin/activate
|
- . env/bin/activate
|
||||||
- pip install --upgrade pip
|
- pip install --upgrade pip
|
||||||
- pip install -r $ROOT_DIR/lint/requirements.txt
|
- pip install -r $ROOT_DIR/lint/requirements.txt
|
||||||
- mkdir $PYTHON_VERSION
|
- mkdir $PYTHON_VERSION
|
||||||
script:
|
script:
|
||||||
- echo "[DEBUG] YAML_LINT_PATH[$YAML_LINT_PATH]"
|
- echo "[DEBUG] YAML_LINT_PATH[$YAML_LINT_PATH]"
|
||||||
- echo "[DEBUG] YAML_LINT_CONFIG[$YAML_LINT_CONFIG]"
|
- echo "[DEBUG] YAML_LINT_CONFIG[$YAML_LINT_CONFIG]"
|
||||||
- yamllint $YAML_LINT_PATH -f parsable -d "$(echo $YAML_LINT_EXTRA_ARGS)" > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$PYTHON_VERSION-yaml-lint.log" 1>&1 || YAML_LINT=$?
|
- yamllint $YAML_LINT_PATH -f parsable -d "$(echo $YAML_LINT_EXTRA_ARGS)" > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$PYTHON_VERSION-yaml-lint.log" 1>&1 || YAML_LINT=$?
|
||||||
- cat "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$PYTHON_VERSION-yaml-lint.log" | ansible-lint-to-junit-xml > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/$PYTHON_VERSION-yaml-lint.junit.xml"
|
- cat "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$PYTHON_VERSION-yaml-lint.log" | ansible-lint-to-junit-xml > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/$PYTHON_VERSION-yaml-lint.junit.xml"
|
||||||
- if [ $YAML_LINT > 0 ]; then echo "YAML lint failed with $YAML_LINT"; exit $YAML_LINT; fi
|
- if [ $YAML_LINT > 0 ]; then echo "YAML lint failed with $YAML_LINT"; exit $YAML_LINT; fi
|
||||||
after_script:
|
after_script:
|
||||||
- echo deactivate
|
- echo deactivate
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 3 days
|
expire_in: 3 days
|
||||||
when: always
|
when: always
|
||||||
|
paths:
|
||||||
|
- "artifacts/*"
|
||||||
|
reports:
|
||||||
|
junit:
|
||||||
|
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/*.junit.xml"
|
||||||
|
rules:
|
||||||
|
- if: '$JOB_STOP_YAML_LINT'
|
||||||
|
when: never
|
||||||
|
|
||||||
|
- if: '$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- if: '$CI_COMMIT_BRANCH &&
|
||||||
|
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||||
|
exists:
|
||||||
|
- '{!gitlab-ci/**/*, !website-template/**/*, !.gitlab-ci, !*gitlab-ci*, **/*, **}.{yml, yaml}'
|
||||||
|
# - ".gitlab-ci*"
|
||||||
|
# - "**/*gitlab-ci*"
|
||||||
|
changes:
|
||||||
paths:
|
paths:
|
||||||
- "artifacts/*"
|
- '{!gitlab-ci/**/*, !website-template/**/*, !.gitlab-ci, !*gitlab-ci*, **/*, **}.{yml, yaml}'
|
||||||
reports:
|
compare_to: 'master'
|
||||||
junit:
|
when: always
|
||||||
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/*.junit.xml"
|
|
||||||
rules:
|
- when: never
|
||||||
- if: '$JOB_STOP_YAML_LINT'
|
|
||||||
when: never
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
.Gitlab_CI.Lint.YAML:
|
||||||
when: never
|
variables:
|
||||||
- if: '$CI_COMMIT_TAG'
|
YAML_LINT_PATH: ".gitlab-ci* ./**/*gitlab-ci*"
|
||||||
when: always
|
YAML_LINT_EXTRA_ARGS: "{ extends: lint/.yamllint.yaml, ignore: [gitlab-ci/*, website-template/*] }"
|
||||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
extends:
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
- .yaml_lint_defaults
|
||||||
when: always
|
rules:
|
||||||
- if: '$CI_COMMIT_BRANCH &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
- if: # condition_master_branch_push
|
||||||
when: always
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
- when: never
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
#- '{!gitlab-ci/**, !website-template/**, **}/*gitlab-ci*'
|
||||||
|
- '{*, **/}*gitlab-ci*'
|
||||||
|
# - ".gitlab-ci*"
|
||||||
|
# - "**/*gitlab-ci*"
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- if: # condition_dev_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
#- '{!gitlab-ci/**, !website-template/**, **}/*gitlab-ci*'
|
||||||
|
- '{*, **/}*gitlab-ci*'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
#- '{!gitlab-ci/**, !website-template/**, **}/*gitlab-ci*'
|
||||||
|
- '{*, **/}*gitlab-ci*'
|
||||||
|
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:
|
||||||
|
#- '{!gitlab-ci/**, !website-template/**, **}/*gitlab-ci*yml'
|
||||||
|
#- '{*, a}/*gitlab-ci*yml' # worked
|
||||||
|
#- '{!website-template/**, *, **, **/**}gitlab-ci*'
|
||||||
|
#- '{*, **, **/**, !website-template/**}/*gitlab-c*' worked
|
||||||
|
- '{*, **/}*gitlab-ci*'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{*, **/}*gitlab-ci*'
|
||||||
|
# - ".gitlab-ci*"
|
||||||
|
# - "**/*gitlab-ci*"
|
||||||
|
compare_to: 'development'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
@ -23,21 +23,18 @@
|
|||||||
paths:
|
paths:
|
||||||
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME"
|
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME"
|
||||||
rules:
|
rules:
|
||||||
|
|
||||||
- if: '$JOB_STOP_MKDOCS_BUILD'
|
- if: '$JOB_STOP_MKDOCS_BUILD'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
- if: # condition_any_branch_push
|
||||||
- if: $CI_COMMIT_TAG
|
$CI_COMMIT_BRANCH != null &&
|
||||||
|
$CI_COMMIT_TAG == null &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- "mkdocs.yaml"
|
- 'mkdocs.{yaml,yml}'
|
||||||
- "mkdocs.yml"
|
|
||||||
when: always
|
|
||||||
- if: '$CI_COMMIT_BRANCH &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
exists:
|
|
||||||
- "mkdocs.yaml"
|
|
||||||
- "mkdocs.yml"
|
|
||||||
when: always
|
when: always
|
||||||
|
|
||||||
- when: never
|
- when: never
|
||||||
|
|
||||||
|
|
||||||
@ -48,15 +45,36 @@
|
|||||||
rules:
|
rules:
|
||||||
- if: '$JOB_STOP_MKDOCS_BUILD'
|
- if: '$JOB_STOP_MKDOCS_BUILD'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
- if: # condition_master_branch_push
|
||||||
- if: $CI_COMMIT_TAG
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- "docs/index.md"
|
- '{docs/**,pages/**}/*.md'
|
||||||
when: always
|
when: always
|
||||||
- if: '$CI_COMMIT_BRANCH &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
- if: # condition_dev_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- "docs/index.md"
|
- '{docs/**,pages/**}/*.md'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{docs/**,pages/**}/*.md'
|
||||||
|
compare_to: 'master'
|
||||||
when: always
|
when: always
|
||||||
- when: never
|
|
||||||
|
- 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
|
||||||
|
|
@ -5,49 +5,81 @@
|
|||||||
}" > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/badge_pylint.json"
|
}" > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/badge_pylint.json"
|
||||||
|
|
||||||
.PyLint:
|
.PyLint:
|
||||||
variables:
|
variables:
|
||||||
PYLINT_PATH: "/*/python-module/*/*.py"
|
PYLINT_PATH: "/*/python-module/*/*.py"
|
||||||
PYLINT_RC_PATH: "/python/.pylintrc"
|
PYLINT_RC_PATH: "/python/.pylintrc"
|
||||||
stage: validation
|
stage: validation
|
||||||
before_script:
|
before_script:
|
||||||
- if [ "0$JOB_ROOT_DIR" == "0" ]; then ROOT_DIR=gitlab-ci; else ROOT_DIR=$JOB_ROOT_DIR ; fi
|
- if [ "0$JOB_ROOT_DIR" == "0" ]; then ROOT_DIR=gitlab-ci; else ROOT_DIR=$JOB_ROOT_DIR ; fi
|
||||||
- echo "[DEBUG] ROOT_DIR[$ROOT_DIR]"
|
- echo "[DEBUG] ROOT_DIR[$ROOT_DIR]"
|
||||||
- mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME"
|
- mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME"
|
||||||
- mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests"
|
- mkdir -p "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests"
|
||||||
- export PYTHON_VERSION=`python -c 'import sys; version=sys.version_info[:3]; print("{0}.{1}.{2}".format(*version))'`
|
- export PYTHON_VERSION=`python -c 'import sys; version=sys.version_info[:3]; print("{0}.{1}.{2}".format(*version))'`
|
||||||
- apt update
|
- apt update
|
||||||
- apt install --no-install-recommends -y git
|
- apt install --no-install-recommends -y git
|
||||||
- python3 -m venv env
|
- python3 -m venv env
|
||||||
- . env/bin/activate
|
- . env/bin/activate
|
||||||
- pip install --upgrade pip
|
- pip install --upgrade pip
|
||||||
- pip install -r $ROOT_DIR/python/requirements.txt
|
- pip install -r $ROOT_DIR/python/requirements.txt
|
||||||
- mkdir $PYTHON_VERSION
|
- mkdir $PYTHON_VERSION
|
||||||
script:
|
script:
|
||||||
- PYLINT_PATH=$ROOT_DIR$PYLINT_PATH
|
- PYLINT_PATH=$ROOT_DIR$PYLINT_PATH
|
||||||
- echo "[DEBUG] PYLINT_PATH[$PYLINT_PATH]"
|
- echo "[DEBUG] PYLINT_PATH[$PYLINT_PATH]"
|
||||||
- PYLINT_RC_PATH=$ROOT_DIR$PYLINT_RC_PATH
|
- PYLINT_RC_PATH=$ROOT_DIR$PYLINT_RC_PATH
|
||||||
- echo "[DEBUG] PYLINT_RC_PATH[$PYLINT_RC_PATH]"
|
- echo "[DEBUG] PYLINT_RC_PATH[$PYLINT_RC_PATH]"
|
||||||
- python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $PYLINT_PATH > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
- python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $PYLINT_PATH > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
||||||
|
|
||||||
- python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $PYLINT_PATH > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.html"
|
- python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $PYLINT_PATH > "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.html"
|
||||||
|
|
||||||
- PyPIScore=$(python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero $PYLINT_PATH | sed -n 's/^Your code has been rated at \([-0-9./]*\).*/\1/p')
|
- PyPIScore=$(python3 -m pylint --rcfile $PYLINT_RC_PATH --exit-zero $PYLINT_PATH | sed -n 's/^Your code has been rated at \([-0-9./]*\).*/\1/p')
|
||||||
|
|
||||||
- *pylint_badge
|
- *pylint_badge
|
||||||
|
|
||||||
|
after_script:
|
||||||
|
- echo deactivate
|
||||||
|
artifacts:
|
||||||
|
expire_in: 1 days
|
||||||
|
when: always
|
||||||
|
paths:
|
||||||
|
- "artifacts/*"
|
||||||
|
reports:
|
||||||
|
codequality: "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
||||||
|
rules:
|
||||||
|
|
||||||
|
- if: # condition_master_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
#- '{**/,*,!gitlab-ci/**,!website-template/**}*.py'
|
||||||
|
- '{**/,*}*.py'
|
||||||
|
when: always
|
||||||
|
|
||||||
after_script:
|
- if: # condition_development_branch_push
|
||||||
- echo deactivate
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
artifacts:
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
expire_in: 1 days
|
exists:
|
||||||
when: always
|
#- '{**/,*,!gitlab-ci/**,!website-template/**}*.py'
|
||||||
|
- '{**/,*}*.py'
|
||||||
|
changes:
|
||||||
paths:
|
paths:
|
||||||
- "artifacts/*"
|
#- '{**/,*,!gitlab-ci/**,!website-template/**}*.py'
|
||||||
reports:
|
- '{**/,*}*.py'
|
||||||
codequality: "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
compare_to: 'master'
|
||||||
rules:
|
when: always
|
||||||
- if: '$CI_COMMIT_BRANCH &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
- if: # condition_not_master_or_dev_push
|
||||||
when: always
|
$CI_COMMIT_BRANCH != "master" &&
|
||||||
- when: never
|
$CI_COMMIT_BRANCH != "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
#- '{**/,*,!gitlab-ci/**,!website-template/**}*.py'
|
||||||
|
- '{**/,*}*.py'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
#- '{**/,*,!gitlab-ci/**,!website-template/**}*.py'
|
||||||
|
- '{**/,*}*.py'
|
||||||
|
compare_to: 'development'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
|
||||||
|
@ -30,10 +30,47 @@ Docker Container:
|
|||||||
extends: .build_docker_container
|
extends: .build_docker_container
|
||||||
|
|
||||||
|
|
||||||
Docker Hub:
|
Docker.Hub.Branch.Publish:
|
||||||
extends: .publish-docker-hub
|
extends: .publish-docker-hub
|
||||||
needs: [ "Docker Container" ]
|
needs: [ "Docker Container" ]
|
||||||
|
|
||||||
|
rules: # rules manually synced from docker/publish.gitlab-ci.yaml removing git tag
|
||||||
|
|
||||||
|
- if: # condition_master_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "master" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
- '{dockerfile, dockerfile.j2}'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- if: # condition_dev_branch_push
|
||||||
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
|
exists:
|
||||||
|
- '{dockerfile, dockerfile.j2}'
|
||||||
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{dockerfile, dockerfile.j2, includes**/**}'
|
||||||
|
compare_to: 'master'
|
||||||
|
allow_failure: true
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
|
||||||
|
|
||||||
|
Docker.Hub.Tag.Publish:
|
||||||
|
extends: .publish-docker-hub
|
||||||
|
rules: # rules manually synced from docker/publish.gitlab-ci.yaml only keeping git tag
|
||||||
|
|
||||||
|
- if: # condition_git_tag
|
||||||
|
$CI_COMMIT_TAG != null &&
|
||||||
|
$CI_COMMIT_BRANCH == null
|
||||||
|
exists:
|
||||||
|
- '{dockerfile, dockerfile.j2}'
|
||||||
|
when: always
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
|
||||||
|
|
||||||
Gitlab Release:
|
Gitlab Release:
|
||||||
extends:
|
extends:
|
||||||
|
@ -15,7 +15,7 @@ Documentation.Build:
|
|||||||
extends: .MKDocs_Build_Docs
|
extends: .MKDocs_Build_Docs
|
||||||
needs: [ 'Documentation.Lint' ]
|
needs: [ 'Documentation.Lint' ]
|
||||||
|
|
||||||
|
# this name must always be called 'pages' so that gitlab pages work
|
||||||
pages:
|
pages:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
variables:
|
variables:
|
||||||
@ -32,21 +32,29 @@ pages:
|
|||||||
rules:
|
rules:
|
||||||
- if: '$JOB_STOP_GITLAB_PAGES'
|
- if: '$JOB_STOP_GITLAB_PAGES'
|
||||||
when: never
|
when: never
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
when: never
|
- if: # condition_dev_branch_push
|
||||||
- if: $CI_COMMIT_TAG
|
$CI_COMMIT_BRANCH == "development" &&
|
||||||
when: never
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
- if: '$CI_COMMIT_BRANCH == "development" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
|
||||||
exists:
|
exists:
|
||||||
- "mkdocs.yaml"
|
- '{docs/**,pages/**}/*.md'
|
||||||
- "mkdocs.yml"
|
changes:
|
||||||
|
paths:
|
||||||
|
- '{docs/**,pages/**}/*.md'
|
||||||
|
compare_to: 'master'
|
||||||
when: always
|
when: always
|
||||||
- if: '$CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != "master" &&
|
|
||||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
- if: # condition_not_master_or_dev_push
|
||||||
|
$CI_COMMIT_BRANCH != "master" &&
|
||||||
|
$CI_COMMIT_BRANCH != "development" &&
|
||||||
|
$CI_PIPELINE_SOURCE == "push"
|
||||||
exists:
|
exists:
|
||||||
- "mkdocs.yaml"
|
- '{docs/**,pages/**}/*.md'
|
||||||
- "mkdocs.yml"
|
changes:
|
||||||
when: manual
|
paths:
|
||||||
|
- '{docs/**,pages/**}/*.md'
|
||||||
|
compare_to: 'development'
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
- when: never
|
when: manual
|
||||||
|
|
||||||
|
- when: never
|
||||||
|
Reference in New Issue
Block a user