]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Refactor TSAN unit test job definitions
authorMichał Kępień <michal@isc.org>
Thu, 26 Mar 2020 10:03:52 +0000 (11:03 +0100)
committerMichał Kępień <michal@isc.org>
Thu, 26 Mar 2020 10:43:47 +0000 (11:43 +0100)
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)

.gitlab-ci.yml

index 036933bc7d344d6d7e55e48e72cbac6511506622..883045987f944ce27cbca90518987ba519a4a9cf 100644 (file)
@@ -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: