Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,25 @@ jobs:
# The one dependency is `ampacity`, which is data and ships no code.
- run: npm ci
- run: npm test

# The single required status check. Everything else fans in here, so the
# ruleset requires one context and adding or renaming a matrix leg does not
# silently change what is required. `always()` is what lets it evaluate when
# a dependency failed or was skipped, so the gate reports an explicit pass or
# fail of its own. Without it the gate would inherit the skip, and a skipped
# required check is not a dependable block: a job skipped by `if` reports
# `skipped`, while a whole workflow skipped by path or branch filters leaves
# the check pending forever. Neither is the verdict a ruleset needs.
# No `name:` here, deliberately: the reported context is the job id.
ci-gate:
# It reads nothing and writes nothing; the results come from `needs`.
permissions: {}
needs: [test]
if: always()
runs-on: ubuntu-latest
steps:
- run: |
echo "test: ${{ needs.test.result }}"
if [ "${{ needs.test.result }}" != "success" ]; then
exit 1
fi
Loading