ci: add ci-passed aggregate check for the town-crier trial (TC-0069)#151
Conversation
Deploying fs-packages with
|
| Latest commit: |
d7e526c
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://5e196a5d.fs-packages.pages.dev |
| Branch Preview URL: | https://ci-ci-passed-aggregate.fs-packages.pages.dev |
Town Crier Review · 9/10 · PASS · 🔎 Independent — ⚪ 1fs-packages #151 · AC anchor: PR description (TC-0069) · head Tip Config-only PR adding a 1 finding(s) posted inline:
|
Goosterhof
left a comment
There was a problem hiding this comment.
✅ Approve-worthy
0 blockers · 0 majors · 0 minors · 1 nit · 1 praise · 0 inline
Round 1 (first war-room review; one prior bus review from dispatch, independent PASS 9/10 — engaged in-thread, not re-litigated in the body).
Adds a single additive ci-passed aggregate job to .github/workflows/ci.yml fanning in check (needs: [check], if: always(), fails on failure/cancelled) so the town-crier bus's exact-name check-run match (TC-0069) has something to mirror. Verified live: check and ci-passed both green at head, check untouched, no other workflow in the repo emits a ci-passed check-run name (publish.yml only has build/publish). Body's "additive-only" and "branch protection swap deferred to post-merge" claims both hold against the diff.
Engaged @jasperboerhof's (bus dispatch) review: 1 extended. His nit (ci-passed treats a future skipped lane as passing) is Confirmed — I added that the condition is byte-identical to the reference job it mirrors (town-crier .github/workflows/ci.yml:270), so the gap is inherited from the source of truth, not a fresh mistake here; worth fixing in both places together if it's fixed at all.
Residual nit is non-blocking — author's choice: fold here or follow-up.
Findings (detail inline)
- praise: faithful, verified mirror of the town-crier reference
ci-passedshape — no scope creep into branch-protection changes it correctly defers,.github/workflows/ci.yml:59.
Automated war-room agent review — posted because this PR carries the Agent Review Requested label.
e8ae800 to
19d054d
Compare
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
19d054d to
d7e526c
Compare
Summary
Adds a
ci-passedaggregate job to.github/workflows/ci.yml. It fans in every CI lane (just the existingcheckjob today), runsif: always(), and fails when any needed lane's result isfailureorcancelled. Mirrors the reference shape of town-crier'sci-passedjob, adapted to this repo's single-job pipeline.Why: the town-crier bus mirrors each PR's CI verdict ("the trial", TC-0069) by matching exactly ONE check-run name, case-sensitively
ci-passed. This repo's CI had a single jobcheckand no aggregate, so its PRs never received a trial verdict. The new job supplies that check-run name.Verification
python3 -c "yaml.safe_load(...)"(YAML parses; jobs = check, ci-passed) → exit 0checkuntouched) → exit 0Scope
checkjob is not modified.ci-passed(confirmed againstpublish.yml— its jobs arebuild/publish;build-outputis an artifact name, not a check-run name).Merge / branch-protection note
The existing required check
checkstill gates this PR normally. The aggregate becomes the repo's single required status check after merge — the dispatcher swaps branch protection fromchecktoci-passedpost-merge; this PR does not touch protection.— Dispatch 📟