Skip to content

Commit 19d054d

Browse files
jasperboerhofclaude
authored andcommitted
ci: add ci-passed aggregate check for the town-crier trial (TC-0069)
Add a ci-passed aggregate job that fans in every CI lane (just `check` today) and fails when any needed lane's result is failure or cancelled. The town-crier bus mirrors each PR's CI verdict by matching exactly one check-run name, case-sensitively `ci-passed`; this repo previously had no aggregate, so its PRs never received a trial verdict. Intended to become the single required status check on main — branch protection swaps from `check` to `ci-passed` after this merges. The existing `check` job is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BrZ64qwG8ytbTdMV25WTX4
1 parent cb7365a commit 19d054d

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,20 @@ jobs:
5050
path: packages/*/reports/mutation/
5151
retention-days: 30
5252
if-no-files-found: warn
53+
54+
# Aggregate check the town-crier trial tracks (TC-0069): the bus mirrors each
55+
# PR's CI verdict by matching exactly one check-run name, case-sensitively,
56+
# `ci-passed`. This job fans in every CI lane (just `check` today) and is
57+
# intended to become the single required status check on `main` — branch
58+
# protection swaps from `check` to `ci-passed` after this merges.
59+
ci-passed:
60+
name: ci-passed
61+
runs-on: ubuntu-latest
62+
needs: [check]
63+
if: always()
64+
steps:
65+
- name: Verify all lanes passed
66+
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
67+
run: |
68+
echo "One or more CI lanes did not pass."
69+
exit 1

0 commit comments

Comments
 (0)