Skip to content

ci: skip build:packages on release tags that predate it - #27110

Merged
Jinwoo-H merged 1 commit into
mainfrom
Jinwoo-H/install-action-optional-build-packages
Oct 10, 2026
Merged

Jinwoo-H merged 1 commit into
mainfrom
Jinwoo-H/install-action-optional-build-packages

Conversation

@Jinwoo-H

@Jinwoo-H Jinwoo-H commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​1 $\color{#cf222e}{\Huge{\mathbf{−}}}$​1 0
Prod 1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​2 $\color{#cf222e}{\Huge{\mathbf{−}}}$​1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​1

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: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.

  • config/scripts/ci-dependency-download-cache.test.mjs passes (60 tests).

  • I manually tested these changes locally

  • 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)

@coderabbitai

coderabbitai Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 877aa91b-71e4-472a-9135-c714614f34f5

📥 Commits

Reviewing files that changed from the base of the PR and between f1a09aa and 1342508.


📒 Files selected for processing (2)
  • .github/actions/install-node-dependencies/action.yml
  • config/scripts/ci-dependency-download-cache.test.mjs

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 | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: allowing the build script to be skipped on release tags that predate it.
Description check Passed 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 Passed 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 Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed 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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Jinwoo-H
Jinwoo-H merged commit 03408d8 into main Oct 10, 2026
42 checks passed
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