diff options
Diffstat (limited to '.gitlab/ci/qa.gitlab-ci.yml')
-rw-r--r-- | .gitlab/ci/qa.gitlab-ci.yml | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index 74fc5f2cdc0..4fec223e66d 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -57,8 +57,12 @@ update-qa-cache: - install_gitlab_gem - tooling/bin/find_change_diffs ${CHANGES_DIFFS_DIR} script: + - tooling/bin/qa/check_if_qa_only_spec_changes ${CHANGES_FILE} ${ONLY_QA_CHANGES_FILE} + - '[ -f $ONLY_QA_CHANGES_FILE ] && export QA_TESTS="`cat $ONLY_QA_CHANGES_FILE`"' + - 'echo "QA_TESTS: $QA_TESTS"' + - exit_code=0 && tooling/bin/qa/package_and_qa_check ${CHANGES_DIFFS_DIR} || exit_code=$? + - echo $exit_code - | - tooling/bin/qa/package_and_qa_check ${CHANGES_DIFFS_DIR} && exit_code=$? if [ $exit_code -eq 0 ]; then ./scripts/trigger-build omnibus elif [ $exit_code -eq 1 ]; then @@ -80,16 +84,25 @@ update-qa-cache: expire_in: 7d paths: - ${CHANGES_FILE} + - ${ONLY_QA_CHANGES_FILE} - ${CHANGES_DIFFS_DIR}/* variables: CHANGES_FILE: tmp/changed_files.txt + ONLY_QA_CHANGES_FILE: tmp/qa_only_changed_files.txt CHANGES_DIFFS_DIR: tmp/diffs + ALLURE_JOB_NAME: $CI_JOB_NAME .package-and-qa-ff-base: script: - - export GITLAB_QA_OPTIONS="--set-feature-flags $(scripts/changed-feature-flags --files $(cat $CHANGES_FILE | tr ' ' ',') --state $QA_FF_STATE)" - - echo $GITLAB_QA_OPTIONS - - ./scripts/trigger-build omnibus + - | + feature_flags=$(scripts/changed-feature-flags --files $(cat $CHANGES_FILE | tr ' ' ',') --state $QA_FF_STATE) + if [[ $feature_flags ]]; then + export GITLAB_QA_OPTIONS="--set-feature-flags $feature_flags" + echo $GITLAB_QA_OPTIONS + ./scripts/trigger-build omnibus + else + echo "No changed feature flag found to test. The tests are skipped if the flag was removed." + fi package-and-qa: extends: |