Switch the `tests-done` job to an Action (#12161)
I've factored it out for easier use in other workflows.
2 files changed, 10 insertions, 21 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 3bce95b0e0..613a773775 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -388,34 +388,22 @@ jobs:
tests-done:
if: ${{ always() }}
needs:
+ - check-sampleconfig
- lint
- lint-crlf
- lint-newsfile
- trial
- trial-olddeps
- sytest
+ - export-data
- portdb
- complement
runs-on: ubuntu-latest
steps:
- - name: Set build result
- env:
- NEEDS_CONTEXT: ${{ toJSON(needs) }}
- # the `jq` incantation dumps out a series of "<job> <result>" lines.
- # we set it to an intermediate variable to avoid a pipe, which makes it
- # hard to set $rc.
- run: |
- rc=0
- results=$(jq -r 'to_entries[] | [.key,.value.result] | join(" ")' <<< $NEEDS_CONTEXT)
- while read job result ; do
- # The newsfile lint may be skipped on non PR builds
- if [ $result == "skipped" ] && [ $job == "lint-newsfile" ]; then
- continue
- fi
-
- if [ "$result" != "success" ]; then
- echo "::set-failed ::Job $job returned $result"
- rc=1
- fi
- done <<< $results
- exit $rc
+ - uses: matrix-org/done-action@v2
+ with:
+ needs: ${{ toJSON(needs) }}
+
+ # The newsfile lint may be skipped on non PR builds
+ skippable:
+ lint-newsfile
diff --git a/changelog.d/12161.misc b/changelog.d/12161.misc
new file mode 100644
index 0000000000..43eff08d46
--- /dev/null
+++ b/changelog.d/12161.misc
@@ -0,0 +1 @@
+Use a prebuilt Action for the `tests-done` CI job.
|