Skip to content

ci: check the hub contract in component CI - #657

Merged
AsperforMias merged 1 commit into
mainfrom
ci/hub-contract-check
Nov 8, 2026
Merged

AsperforMias merged 1 commit into
mainfrom
ci/hub-contract-check

Conversation

@AsperforMias

Copy link
Copy Markdown
Collaborator

Two production incidents this week passed private-repo PR CI and only failed later:

  • Server v1.0.5 removed smoke:backend:*, which hub ci.yml still called. Deploy CI failed and nothing deployed until hub v1.0.2.
  • Migration 0034 wasn't listed in the production approval list, so production silently skipped it.

New .github/compose/check-hub-contract.mjs, run from the assembled workspace:

  • Checks that every pnpm <script> and scripts/… path in the hub workflows resolves, honouring each step's working-directory.
  • With --run-tests, it also runs the node:test suites from ci.yml's Application checks job: 15 suites, 238 tests, about 4s. Builds stay deploy-only, so private Actions minutes stay low.

Wiring:

  • component-ci.yml runs it with --run-tests on every private-repo PR and push. It's skipped with a notice while the latest hub release predates the script.
  • ci.yml runs the name check, so a hub workflow edit that calls a missing script fails on main.

Verified on an assembled workspace (this branch + server test/migration-approval-guard + frontend main):

  • The check passes as-is.
  • Deleting smoke:deployment:selftest fails it.
  • Adding an unapproved 0035 migration fails it, via FindAny/ghfind-server's new guard test.

The runbook "Release order" paragraph and deployment.zh.md (sections 4.3, 6 and 7) now describe the check.

🤖 Generated with Claude Code

Private-repo PR CI now fails when a pnpm script or scripts/ file that a
hub workflow calls is missing (server v1.0.5 removed smoke:backend:* and
broke deploy CI), and runs ci.yml's Application-checks node:test suites
(about 4s), including the production migration approval guard that
would have stopped the 0034 incident. Both incidents were replayed
against an assembled workspace and go red.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@AsperforMias
AsperforMias merged commit d736dee into main Nov 8, 2026
3 checks passed
@AsperforMias
AsperforMias deleted the ci/hub-contract-check branch November 8, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant