chore(ci) Build against the platform commit pinned in contract.ref #26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "contract-pin"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
All three workflows (
pr_check.yaml,build_stage.yaml,build_release.yaml) clonerecipe-platformat the head ofmainand build@recipe/contractfrom it. Platformmainalready carries the contract for spec 002, whichrecipe-backenddoes not implement yet. Builds againstmaintherefore no longer compile, which blocks the production release.Mechanism
contract.refin the repo root: one line, the full hash of the platform commit this repo builds against. It travels with the code, so every branch and tag names its own contract.checkout_pinned_platform_contract, betweenpull_platformandinstall_platform_contract:The step fails when
contract.refis missing or empty. The platform clone stays a full clone, so any commit on any pushed platform branch is reachable.CLAUDE.mddocuments the pin: a feature that needs a newer contract moves the pin on its feature branch; the release script requiresrecipe-backendandrecipe-appto pin the same commit.Nothing else in the workflows changed.
Pinned commit
c69d1e3be45f716404d891be07776395ffda629b— the last commit on platformmainbefore the spec 002 contract (merge of recipe-platform#34; the next commit onmainis the merge of #35, which adds the spec 002 contract).Verification
Locally, against a platform checkout at the pinned commit:
npm install,npm run build(clean) andnpm test(56 files, 557 tests passed). The PR check of this PR is the proof that the checkout step works in CI.🤖 Generated with Claude Code
araemer referenced this pull request2026-10-03 17:26:37 +00:00