]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Extract respdiff job definition to a YAML anchor
authorMichał Kępień <michal@isc.org>
Mon, 18 Jul 2022 12:39:02 +0000 (14:39 +0200)
committerMichał Kępień <michal@isc.org>
Mon, 18 Jul 2022 13:28:21 +0000 (15:28 +0200)
Ensure the common parts of all jobs using respdiff are available in the
form of a reusable YAML anchor, to reduce code duplication and to
simplify adding more respdiff-based jobs to GitLab CI.

(cherry picked from commit ca20a189f7c020e67feebcabd436a02e69272164)

.gitlab-ci.yml

index 71ea5615eee4010e2d4a5b339f92ebb0c29e0ee6..14e5ab789172cdeedd43b02f58c985a2f2534ce3 100644 (file)
@@ -404,6 +404,25 @@ stages:
       - kyua_html/
     when: on_failure
 
+.respdiff: &respdiff_job
+  <<: *base_image
+  stage: system
+  before_script:
+    - *configure
+    - make -j${BUILD_PARALLEL_JOBS:-1} V=1
+    - *setup_interfaces
+    - git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.isc.org/isc-private/bind-qa.git
+    - cd bind-qa/bind9/respdiff
+  needs: []
+  artifacts:
+    paths:
+      - bind-qa/bind9/respdiff
+    exclude:
+      - bind-qa/bind9/respdiff/rspworkdir/data.mdb # Exclude a 10 GB file.
+    untracked: true
+    expire_in: "1 day"
+    when: always
+
 ### Job Definitions
 
 # Jobs in the precheck stage
@@ -1315,54 +1334,24 @@ coverity:
 # Respdiff tests
 
 respdiff:
-  <<: *base_image
+  <<: *respdiff_job
   <<: *api_schedules_tags_triggers_web_triggering_rules
-  stage: system
   variables:
     CC: gcc
     CFLAGS: "${CFLAGS_COMMON} -Og"
     MAX_DISAGREEMENTS_PERCENTAGE: "0.1"
   script:
-    - *configure
-    - make -j${BUILD_PARALLEL_JOBS:-1} V=1
-    - *setup_interfaces
-    - git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.isc.org/isc-private/bind-qa.git
-    - cd bind-qa/bind9/respdiff
     - bash respdiff.sh -s named -q "${PWD}/100k_mixed.txt" -c 3 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}" "/usr/local/respdiff-reference-bind/sbin/named"
-  needs: []
-  artifacts:
-    paths:
-      - bind-qa/bind9/respdiff
-    exclude:
-      - bind-qa/bind9/respdiff/rspworkdir/data.mdb # Exclude a 10 GB file.
-    untracked: true
-    expire_in: "1 day"
-    when: always
 
 respdiff-third-party:
-  <<: *base_image
+  <<: *respdiff_job
   <<: *api_schedules_tags_triggers_web_triggering_rules
-  stage: system
   variables:
     CC: gcc
     CFLAGS: "${CFLAGS_COMMON} -Og"
     MAX_DISAGREEMENTS_PERCENTAGE: "0.1"
   script:
-    - *configure
-    - make -j${BUILD_PARALLEL_JOBS:-1} V=1
-    - *setup_interfaces
-    - git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.isc.org/isc-private/bind-qa.git
-    - cd bind-qa/bind9/respdiff
     - bash respdiff.sh -s third_party -q "${PWD}/100k_mixed.txt" -c 1 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}"
-  needs: []
-  artifacts:
-    paths:
-      - bind-qa/bind9/respdiff
-    exclude:
-      - bind-qa/bind9/respdiff/rspworkdir/data.mdb # Exclude a 10 GB file.
-    untracked: true
-    expire_in: "1 day"
-    when: always
 
 # "Stress" tests