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):
|
||||
variables:
|
||||
YAML_LINT_PATH: ".gitlab-ci* ./**/*gitlab-ci*"
|
||||
YAML_LINT_EXTRA_ARGS: "{ extends: lint/.yamllint.yaml, ignore: [website-template/*] }"
|
||||
extends:
|
||||
- .yaml_lint_defaults
|
||||
- .Gitlab_CI.Lint.YAML
|
||||
image: python:3.11-slim
|
||||
|
||||
|
||||
|
@ -25,15 +25,20 @@ include:
|
||||
rules:
|
||||
- if: '$NFC_AUTO_JOBS == "false"'
|
||||
when: never
|
||||
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule" && $PIPELINE_RUN_SCHEDULE == "true"'
|
||||
exists:
|
||||
- ".nfc_automation.yaml"
|
||||
when: always
|
||||
|
||||
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $PIPELINE_RUN_TRIGGER == "true"'
|
||||
exists:
|
||||
- ".nfc_automation.yaml"
|
||||
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:
|
||||
- ".nfc_automation.yaml"
|
||||
when: always
|
||||
@ -58,6 +63,13 @@ include:
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
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: never
|
@ -46,22 +46,15 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_CONVENTIONAL_COMMITS'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
when: never
|
||||
- if: "$CI_COMMIT_AUTHOR =='nfc_bot <helpdesk@nofusscomputing.com>'"
|
||||
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")'
|
||||
|
||||
- if: # condition_any_branch_push
|
||||
$CI_COMMIT_BRANCH != null &&
|
||||
$CI_COMMIT_TAG == null &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- .cz.yaml
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
||||
|
||||
|
@ -96,24 +96,35 @@ variables:
|
||||
|
||||
fi
|
||||
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
|
||||
url: $DOCKER_IMAGE_PUBLISH_URL
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: $CI_COMMIT_TAG
|
||||
|
||||
- if: # condition_git_tag
|
||||
$CI_COMMIT_TAG != null &&
|
||||
$CI_COMMIT_BRANCH == null
|
||||
exists:
|
||||
- dockerfile
|
||||
- dockerfile.j2
|
||||
- '{dockerfile, dockerfile.j2}'
|
||||
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:
|
||||
- dockerfile
|
||||
- dockerfile.j2
|
||||
when: on_success
|
||||
- if: '$CI_COMMIT_BRANCH != "master" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
- '{dockerfile, dockerfile.j2}'
|
||||
when: always
|
||||
|
||||
- if: # condition_dev_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- dockerfile
|
||||
- dockerfile.j2
|
||||
- '{dockerfile, dockerfile.j2}'
|
||||
changes:
|
||||
paths:
|
||||
- '{dockerfile, dockerfile.j2, includes**/**}'
|
||||
compare_to: 'master'
|
||||
allow_failure: true
|
||||
when: manual
|
||||
|
||||
- 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.
|
||||
|
||||
- notate how each of the stages run and under what circumstance. *i.e. gitlab-ci.yml rules.exist/rules.changes*
|
||||
|
||||
## CI Stages
|
||||
|
||||
|
@ -17,12 +17,16 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_GIT_PUSH_MIRROR'
|
||||
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:
|
||||
- if: '$JOB_STOP_GITLAB_RELEASE'
|
||||
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>'"
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == "master" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
when: on_success
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
allow_failure: false
|
||||
- if: '$CI_COMMIT_BRANCH == "development" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
when: on_success
|
||||
|
||||
- if: # condition_dev_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
|
||||
# for testing
|
||||
# - if: '$CI_COMMIT_BRANCH != "master"'
|
||||
# when: always
|
||||
@ -100,12 +102,19 @@ commit footer refs:
|
||||
rules:
|
||||
- if: '$JOB_STOP_CONVENTIONAL_COMMITS'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == "development" || $CI_COMMIT_BRANCH == "master"'
|
||||
|
||||
- if: $CHANGELOG_FOOTER_REFERENCES == "False"
|
||||
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:
|
||||
- .cz.yaml
|
||||
when: always
|
||||
- when: never
|
||||
|
||||
- when: never
|
||||
|
@ -33,23 +33,38 @@
|
||||
junit:
|
||||
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/*.junit.xml"
|
||||
rules:
|
||||
|
||||
- if: '$JOB_STOP_ANSIBLE_LINT'
|
||||
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:
|
||||
- "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/lint_markdown/*.junit.xml"
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
- if: '$JOB_STOP_LINT_MARKDOWN'
|
||||
when: never
|
||||
|
||||
- if: # condition_any_branch_push
|
||||
$CI_COMMIT_BRANCH != null &&
|
||||
$CI_COMMIT_TAG == null &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "**.md"
|
||||
- "**/**.md"
|
||||
# - "**.md"
|
||||
# - "**/**.md"
|
||||
- '{!docs/**,!pages/**,!gitlab-ci/**, !website-template/**, **}/*.md'
|
||||
when: always
|
||||
- when: never
|
||||
|
||||
|
||||
@ -43,17 +50,38 @@
|
||||
MD_LINT_CONFIG_PATH: "$CI_PROJECT_DIR/website-template"
|
||||
extends: .Lint_Markdown
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
- if: '$JOB_STOP_LINT_MARKDOWN_DOCS'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "docs/index.md"
|
||||
- "pages/index.md"
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
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:
|
||||
- "docs/index.md"
|
||||
- "pages/index.md"
|
||||
- '{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' # works
|
||||
changes:
|
||||
paths:
|
||||
#- '{docs/*,pages/*}*.md'
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'development'
|
||||
when: always
|
||||
|
||||
- when: never
|
@ -2,7 +2,7 @@
|
||||
.yaml_lint_defaults:
|
||||
variables:
|
||||
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
|
||||
before_script:
|
||||
- if [ "0$JOB_ROOT_DIR" == "0" ]; then ROOT_DIR=gitlab-ci; else ROOT_DIR=$JOB_ROOT_DIR ; fi
|
||||
@ -36,14 +36,73 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_YAML_LINT'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
when: always
|
||||
|
||||
- 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:
|
||||
- '{!gitlab-ci/**/*, !website-template/**/*, !.gitlab-ci, !*gitlab-ci*, **/*, **}.{yml, yaml}'
|
||||
compare_to: 'master'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
||||
|
||||
.Gitlab_CI.Lint.YAML:
|
||||
variables:
|
||||
YAML_LINT_PATH: ".gitlab-ci* ./**/*gitlab-ci*"
|
||||
YAML_LINT_EXTRA_ARGS: "{ extends: lint/.yamllint.yaml, ignore: [gitlab-ci/*, website-template/*] }"
|
||||
extends:
|
||||
- .yaml_lint_defaults
|
||||
rules:
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$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:
|
||||
- "$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
|
||||
|
||||
- if: # condition_any_branch_push
|
||||
$CI_COMMIT_BRANCH != null &&
|
||||
$CI_COMMIT_TAG == null &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "mkdocs.yaml"
|
||||
- "mkdocs.yml"
|
||||
when: always
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
exists:
|
||||
- "mkdocs.yaml"
|
||||
- "mkdocs.yml"
|
||||
- 'mkdocs.{yaml,yml}'
|
||||
when: always
|
||||
|
||||
- when: never
|
||||
|
||||
|
||||
@ -48,15 +45,36 @@
|
||||
rules:
|
||||
- if: '$JOB_STOP_MKDOCS_BUILD'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: $CI_COMMIT_TAG
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "docs/index.md"
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
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:
|
||||
- "docs/index.md"
|
||||
- '{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
|
||||
|
@ -35,7 +35,6 @@
|
||||
|
||||
- *pylint_badge
|
||||
|
||||
|
||||
after_script:
|
||||
- echo deactivate
|
||||
artifacts:
|
||||
@ -46,8 +45,41 @@
|
||||
reports:
|
||||
codequality: "$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json"
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
- if: # condition_master_branch_push
|
||||
$CI_COMMIT_BRANCH == "master" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
#- '{**/,*,!gitlab-ci/**,!website-template/**}*.py'
|
||||
- '{**/,*}*.py'
|
||||
when: always
|
||||
|
||||
- if: # condition_development_branch_push
|
||||
$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: '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/**}*.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
|
||||
|
||||
|
||||
Docker Hub:
|
||||
Docker.Hub.Branch.Publish:
|
||||
extends: .publish-docker-hub
|
||||
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:
|
||||
extends:
|
||||
|
@ -15,7 +15,7 @@ Documentation.Build:
|
||||
extends: .MKDocs_Build_Docs
|
||||
needs: [ 'Documentation.Lint' ]
|
||||
|
||||
|
||||
# this name must always be called 'pages' so that gitlab pages work
|
||||
pages:
|
||||
stage: deploy
|
||||
variables:
|
||||
@ -32,21 +32,29 @@ pages:
|
||||
rules:
|
||||
- if: '$JOB_STOP_GITLAB_PAGES'
|
||||
when: never
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: $CI_COMMIT_TAG
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == "development" &&
|
||||
( $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "pipeline")'
|
||||
|
||||
- if: # condition_dev_branch_push
|
||||
$CI_COMMIT_BRANCH == "development" &&
|
||||
$CI_PIPELINE_SOURCE == "push"
|
||||
exists:
|
||||
- "mkdocs.yaml"
|
||||
- "mkdocs.yml"
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
changes:
|
||||
paths:
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'master'
|
||||
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:
|
||||
- "mkdocs.yaml"
|
||||
- "mkdocs.yml"
|
||||
when: manual
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
changes:
|
||||
paths:
|
||||
- '{docs/**,pages/**}/*.md'
|
||||
compare_to: 'development'
|
||||
allow_failure: true
|
||||
when: manual
|
||||
|
||||
- when: never
|
Reference in New Issue
Block a user