You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci: skip build:packages on release tags that predate it - #27110
Release builds were about to fail because a CI step now calls a script that older release branches don't have. This makes that step skip itself when the script isn't there.
What Changed
The shared install action's "Build internal packages" step runs pnpm run --if-present build:packages instead of pnpm run build:packages. On main, where the script exists, it still runs exactly as before. On a tree without the script, it does nothing and succeeds. The contract test is updated to match.
Why
Patch releases are cut by running main's release-cut.yml against a release tag built from an older daily. Those jobs use the tag's copy of .github/actions, which the cut normally syncs to main's. Since #26963 added this step, every release cut from a base that predates #26963 fails with "Missing script: build:packages". v1.4.224 hit this; it was worked around by keeping that release's own .github/actions. With --if-present, future patch cuts can sync .github/actions as usual.
Alternatives: gating the step on a file check adds more moving parts for the same result; cherry-picking #26963 into release branches would ship a large refactor just to satisfy CI.
Linked Issue
N/A, found while cutting v1.4.224.
Visual Proof
N/A, CI-only change.
Testing
pnpm run --if-present build:packages exits 0 on the v1.4.224 release tree (no script) and builds @orca/process-host on main.
Automated tests added/updated, or explained why not below
AI Disclosure
Review
Agent skill upstream boundary
Not applicable, or this change follows docs/reference/agent-skill-sharing-upstream-boundary.md and copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.
Notes
CI-only; no app, SSH, platform or mobile impact.
Checklist
This PR is small and focused
I explained what changed and why (ELI5, the user-facing before/after, the mechanism, and why over the alternatives)
Before/after screenshots or videos attached for UI changes, or N/A with reason
Self-reviewed for correctness, security, and performance
Cross-platform, SSH/remote, and path/shortcut impact considered (or N/A)
pnpm lint, pnpm typecheck, pnpm test, and pnpm build pass (or CI will cover; local preferred)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.
📝 Walkthrough
Walkthrough
The install action now runs build:packages with --if-present, so the step does not require the script to exist. A comment notes that older release tags may not include the script. The test now expects the updated command.
Priority: ⬇️ Low
Merge Risk:⚪ Minimal · up to 13425
The action now tolerates a missing package-build script, and the contract test expects that command. No concrete merge-blocking failure is established by the available evidence.
Pre-merge checks | 5
✅ Passed checks (5 passed)
Check name
Status
Explanation
Title check
The title clearly and concisely describes the primary change: allowing the build script to be skipped on release tags that predate it.
Description check
The description is complete and focused. It explains the change, reason, alternatives, testing, CI-only impact, and checklist status. It marks the linked issue as N/A, which may require confirmation i…
Docstring Coverage
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
Commit to this branch
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ELI5
Release builds were about to fail because a CI step now calls a script that older release branches don't have. This makes that step skip itself when the script isn't there.
What Changed
The shared install action's "Build internal packages" step runs
pnpm run --if-present build:packagesinstead ofpnpm run build:packages. On main, where the script exists, it still runs exactly as before. On a tree without the script, it does nothing and succeeds. The contract test is updated to match.Why
Patch releases are cut by running main's
release-cut.ymlagainst a release tag built from an older daily. Those jobs use the tag's copy of.github/actions, which the cut normally syncs to main's. Since #26963 added this step, every release cut from a base that predates #26963 fails with "Missing script: build:packages". v1.4.224 hit this; it was worked around by keeping that release's own.github/actions. With--if-present, future patch cuts can sync.github/actionsas usual.Alternatives: gating the step on a file check adds more moving parts for the same result; cherry-picking #26963 into release branches would ship a large refactor just to satisfy CI.
Linked Issue
N/A, found while cutting v1.4.224.
Visual Proof
N/A, CI-only change.
Testing
pnpm run --if-present build:packagesexits 0 on the v1.4.224 release tree (no script) and builds@orca/process-hoston main.config/scripts/ci-dependency-download-cache.test.mjspasses (60 tests).I manually tested these changes locally
Automated tests added/updated, or explained why not below
AI Disclosure
Review
Agent skill upstream boundary
docs/reference/agent-skill-sharing-upstream-boundary.mdand copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.Notes
CI-only; no app, SSH, platform or mobile impact.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)