]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
gh actions: simplified collector job in build-and-test-all.yml 13574/head
authorAlexis Romero <alexis.romero@open-xchange.com>
Thu, 16 Feb 2023 05:54:23 +0000 (06:54 +0100)
committerromeroalx <alexis.romero@open-xchange.com>
Thu, 7 Dec 2023 08:59:01 +0000 (09:59 +0100)
.github/workflows/build-and-test-all.yml

index 69033f587341c7d7be048be131cad4ca08e6a0a0..088485fcb03d0459a263afd02f499c94d13103be 100644 (file)
@@ -103,6 +103,7 @@ jobs:
     needs:
       - build-dnsdist
       - test-dnsdist-regression
+    if: success() || failure()
     runs-on: ubuntu-20.04
     steps:
       - name: Install jq and yq
@@ -114,13 +115,11 @@ jobs:
           fetch-depth: 5
           submodules: recursive
           ref: ${{ inputs.branch-name }}
-      - name: Install yq
-        run: sudo wget https://github.com/mikefarah/yq/releases/download/v4.9.6/yq_linux_amd64 -O /usr/bin/yq && sudo chmod +x /usr/bin/yq
-      - name: Get full list of jobs for this workflow
-        run: yq e '.jobs | keys' .github/workflows/build-and-test-all.yml | grep -v '^- collect' | sort | tee /tmp/workflow-jobs-list.yml
-      - name: Get list of jobs the collect job depends on
-        run: yq e '.jobs.collect.needs | ... comments=""' .github/workflows/build-and-test-all.yml | sort | tee /tmp/workflow-collect-dependencies.yml
-      - name: Diff them
-        run: diff -u /tmp/workflow-jobs-list.yml /tmp/workflow-collect-dependencies.yml
+      - name: Get list of jobs in the workflow
+        run: "yq e '.jobs | keys' .github/workflows/build-and-test-all.yml | awk '{print $2}' | grep -v collect | sort | tee /tmp/workflow-jobs-list.yml"
+      - name: Get list of prerequisite jobs
+        run: "echo '${{ toJSON(needs) }}' | jq 'keys | .[]' | tr -d '\"' | sort | tee /tmp/workflow-needs-list.yml"
+      - name: Fail if there is a job missing on the needs list
+        run: "if ! diff -q /tmp/workflow-jobs-list.yml /tmp/workflow-needs-list.yml; then exit 1; fi"
 
 # FIXME: if we can make upload/download-artifact fasts, running unit tests outside of build can let regression tests start earlier