From: Michał Kępień Date: Thu, 26 Mar 2020 10:03:52 +0000 (+0100) Subject: Refactor TSAN unit test job definitions X-Git-Tag: v9.14.12~9^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=91276d9a8cd91d856193268b453ec3934eb67cf8;p=thirdparty%2Fbind9.git Refactor TSAN unit test job definitions Multiple YAML keys have identical values for both TSAN unit test job definitions. Extract these common keys to a YAML anchor and use it in TSAN unit test job definitions to reduce code duplication. (cherry picked from commit 84463f33bfe7777b5884696820cdf484ea9a1073) --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 036933bc7d3..883045987f9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -320,7 +320,7 @@ stages: - tags - web -.unit_test: &unit_test_job +.unit_test_common: &unit_test_common <<: *default_triggering_rules stage: unit before_script: @@ -329,6 +329,9 @@ stages: - make unit after_script: - *kyua_report_html + +.unit_test: &unit_test_job + <<: *unit_test_common artifacts: paths: - kyua.log @@ -337,6 +340,22 @@ stages: expire_in: "1 day" when: on_failure +.unit_test_tsan: &unit_test_tsan_job + <<: *unit_test_common + allow_failure: true + after_script: + - *kyua_report_html + - find lib -name 'tsan.*' -exec python3 util/parse_tsan.py {} \; + artifacts: + expire_in: "1 day" + paths: + - lib/*/tests/tsan.* + - tsan/ + - kyua.log + - kyua.results + - kyua_html/ + when: on_failure + .cppcheck_args: &run_cppcheck | cppcheck --enable=warning,performance,portability,information,missingInclude --include=config.h --std=c11 --language=c --project=compile_commands.json --error-exitcode=2 -j ${TEST_PARALLEL_JOBS:-1} --xml --output-file=cppcheck.results --relative-paths="$CI_PROJECT_DIR" --inline-suppr --suppressions-list=util/suppressions.txt @@ -943,23 +962,10 @@ unit:gcc:tsan: variables: TSAN_OPTIONS: ${TSAN_OPTIONS_COMMON} <<: *base_image - <<: *unit_test_job + <<: *unit_test_tsan_job needs: - job: gcc:tsan artifacts: true - allow_failure: true - after_script: - - *kyua_report_html - - find lib -name 'tsan.*' -exec python3 util/parse_tsan.py {} \; - artifacts: - expire_in: "1 day" - paths: - - lib/*/tests/tsan.* - - tsan/ - - kyua.log - - kyua.results - - kyua_html/ - when: on_failure clang:tsan: <<: *base_image @@ -983,23 +989,10 @@ unit:clang:tsan: variables: TSAN_OPTIONS: ${TSAN_OPTIONS_COMMON} <<: *base_image - <<: *unit_test_job + <<: *unit_test_tsan_job needs: - job: clang:tsan artifacts: true - allow_failure: true - after_script: - - *kyua_report_html - - find lib -name 'tsan.*' -exec python3 util/parse_tsan.py {} \; - artifacts: - expire_in: "1 day" - paths: - - lib/*/tests/tsan.* - - tsan/ - - kyua.log - - kyua.results - - kyua_html/ - when: on_failure # Jobs for mutex-based atomics on Debian SID (amd64) mutexatomics: