Loading templates/gitlab-ci-ansible.yml +34 −7 Original line number Diff line number Diff line Loading @@ -13,14 +13,33 @@ # program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth # Floor, Boston, MA 02110-1301, USA. # ========================================================================================= # default workflow rules # default workflow rules: Merge Request pipelines workflow: rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID # prevent branch pipeline when an MR is open (prefer MR pipeline) - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS' when: never - when: always # test job prototype: implement adaptive pipeline rules .test-policy: rules: # on tag: auto & failing - if: $CI_COMMIT_TAG # on ADAPTIVE_PIPELINE_DISABLED: auto & failing - if: '$ADAPTIVE_PIPELINE_DISABLED == "true"' # on production or integration branch(es): auto & failing - if: '$CI_COMMIT_REF_NAME =~ $PROD_REF || $CI_COMMIT_REF_NAME =~ $INTEG_REF' # early stage (dev branch, no MR): manual & non-failing - if: '$CI_MERGE_REQUEST_ID == null && $CI_OPEN_MERGE_REQUESTS == null' when: manual allow_failure: true # Draft MR: auto & non-failing - if: '$CI_MERGE_REQUEST_TITLE =~ /^Draft:.*/' allow_failure: true # else (Ready MR): auto & failing - when: on_success variables: # variabilized tracking image TBC_TRACKING_IMAGE: "$CI_REGISTRY/to-be-continuous/tools/tracking:master" Loading Loading @@ -455,7 +474,9 @@ ansible-lint-review: - if: '$ANSIBLE_LINT_DISABLED == "true"' when: never # else: allow is $ANSIBLE_REVIEW_PLAYBOOK_FILE is set - if: $ANSIBLE_REVIEW_PLAYBOOK_FILE - if: '$ANSIBLE_REVIEW_PLAYBOOK_FILE == null || $ANSIBLE_REVIEW_PLAYBOOK_FILE == ""' when: never - !reference [.test-policy, rules] ansible-lint-integration: extends: .ansible-lint-base Loading @@ -466,7 +487,9 @@ ansible-lint-integration: - if: '$ANSIBLE_LINT_DISABLED == "true"' when: never # else: allow is $ANSIBLE_INTEG_PLAYBOOK_FILE is set - if: $ANSIBLE_INTEG_PLAYBOOK_FILE - if: '$ANSIBLE_INTEG_PLAYBOOK_FILE == null || $ANSIBLE_INTEG_PLAYBOOK_FILE == ""' when: never - !reference [.test-policy, rules] ansible-lint-staging: extends: .ansible-lint-base Loading @@ -477,7 +500,9 @@ ansible-lint-staging: - if: '$ANSIBLE_LINT_DISABLED == "true"' when: never # else: allow is $ANSIBLE_INTEG_PLAYBOOK_FILE is set - if: $ANSIBLE_STAGING_PLAYBOOK_FILE - if: '$ANSIBLE_STAGING_PLAYBOOK_FILE == null || $ANSIBLE_STAGING_PLAYBOOK_FILE == ""' when: never - !reference [.test-policy, rules] ansible-lint-prod: extends: .ansible-lint-base Loading @@ -488,7 +513,9 @@ ansible-lint-prod: - if: '$ANSIBLE_LINT_DISABLED == "true"' when: never # else: allow is $ANSIBLE_PROD_PLAYBOOK_FILE is set - if: $ANSIBLE_PROD_PLAYBOOK_FILE - if: '$ANSIBLE_PROD_PLAYBOOK_FILE == null || $ANSIBLE_PROD_PLAYBOOK_FILE == ""' when: never - !reference [.test-policy, rules] # Deploy job prototype # Can be extended to define a concrete environment Loading Loading
templates/gitlab-ci-ansible.yml +34 −7 Original line number Diff line number Diff line Loading @@ -13,14 +13,33 @@ # program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth # Floor, Boston, MA 02110-1301, USA. # ========================================================================================= # default workflow rules # default workflow rules: Merge Request pipelines workflow: rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID # prevent branch pipeline when an MR is open (prefer MR pipeline) - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS' when: never - when: always # test job prototype: implement adaptive pipeline rules .test-policy: rules: # on tag: auto & failing - if: $CI_COMMIT_TAG # on ADAPTIVE_PIPELINE_DISABLED: auto & failing - if: '$ADAPTIVE_PIPELINE_DISABLED == "true"' # on production or integration branch(es): auto & failing - if: '$CI_COMMIT_REF_NAME =~ $PROD_REF || $CI_COMMIT_REF_NAME =~ $INTEG_REF' # early stage (dev branch, no MR): manual & non-failing - if: '$CI_MERGE_REQUEST_ID == null && $CI_OPEN_MERGE_REQUESTS == null' when: manual allow_failure: true # Draft MR: auto & non-failing - if: '$CI_MERGE_REQUEST_TITLE =~ /^Draft:.*/' allow_failure: true # else (Ready MR): auto & failing - when: on_success variables: # variabilized tracking image TBC_TRACKING_IMAGE: "$CI_REGISTRY/to-be-continuous/tools/tracking:master" Loading Loading @@ -455,7 +474,9 @@ ansible-lint-review: - if: '$ANSIBLE_LINT_DISABLED == "true"' when: never # else: allow is $ANSIBLE_REVIEW_PLAYBOOK_FILE is set - if: $ANSIBLE_REVIEW_PLAYBOOK_FILE - if: '$ANSIBLE_REVIEW_PLAYBOOK_FILE == null || $ANSIBLE_REVIEW_PLAYBOOK_FILE == ""' when: never - !reference [.test-policy, rules] ansible-lint-integration: extends: .ansible-lint-base Loading @@ -466,7 +487,9 @@ ansible-lint-integration: - if: '$ANSIBLE_LINT_DISABLED == "true"' when: never # else: allow is $ANSIBLE_INTEG_PLAYBOOK_FILE is set - if: $ANSIBLE_INTEG_PLAYBOOK_FILE - if: '$ANSIBLE_INTEG_PLAYBOOK_FILE == null || $ANSIBLE_INTEG_PLAYBOOK_FILE == ""' when: never - !reference [.test-policy, rules] ansible-lint-staging: extends: .ansible-lint-base Loading @@ -477,7 +500,9 @@ ansible-lint-staging: - if: '$ANSIBLE_LINT_DISABLED == "true"' when: never # else: allow is $ANSIBLE_INTEG_PLAYBOOK_FILE is set - if: $ANSIBLE_STAGING_PLAYBOOK_FILE - if: '$ANSIBLE_STAGING_PLAYBOOK_FILE == null || $ANSIBLE_STAGING_PLAYBOOK_FILE == ""' when: never - !reference [.test-policy, rules] ansible-lint-prod: extends: .ansible-lint-base Loading @@ -488,7 +513,9 @@ ansible-lint-prod: - if: '$ANSIBLE_LINT_DISABLED == "true"' when: never # else: allow is $ANSIBLE_PROD_PLAYBOOK_FILE is set - if: $ANSIBLE_PROD_PLAYBOOK_FILE - if: '$ANSIBLE_PROD_PLAYBOOK_FILE == null || $ANSIBLE_PROD_PLAYBOOK_FILE == ""' when: never - !reference [.test-policy, rules] # Deploy job prototype # Can be extended to define a concrete environment Loading