ci: replace gh CLI with github-script in release-PR assign step (LAB-899) - #61
Conversation
…899)
The self-hosted cachekit ARC runner has no gh CLI, so the assign step
introduced-then-fixed in LAB-865 dies with exit 127 ('gh: command not
found') on every push that creates or updates a release PR (run
30224112374). Swap it for SHA-pinned actions/github-script calling
issues.addAssignees with the app token — no CLI dependency, no
hardcoded head-branch name, and outputs.pr is parsed in JS from env
rather than template-position fromJson (which evaluates even when if:
is false, the original LAB-865 crash).
Co-authored-by: multica-agent <github@multica.ai>
This comment has been minimized.
This comment has been minimized.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 55 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThe release workflow now uses ChangesRelease workflow
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Kody review on #61: JSON.parse + addAssignees threw unhandled on malformed PR_JSON or API failure, failing the step with a raw stack trace and no context. Wrap in try/catch and core.setFailed with the repo, PR_JSON length (parse vs truncation diagnosis without dumping the multi-KB PR body into logs), and error message. Still fails the step — assignment failures must stay visible, not warn-and-pass. Co-authored-by: multica-agent <github@multica.ai>
Kody Review CompleteGreat news! 🎉 Keep up the excellent work! 🚀 Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
|
@kody start-review |
What
Replaces the
gh pr editrelease-PR assign step inrelease.ymlwith SHA-pinnedactions/github-script@ed597411(v8) callingissues.addAssigneesvia the app token. Minimal diff: this step only.Why
The self-hosted
cachekitARC runner has noghCLI, so the step diesgh: command not found(exit 127) — verified in run 30224112374. This was masked until #58 (LAB-865) fixed the earlierfromJson('')template crash; the step has never once executed successfully. github-script runs on the runner's bundled Node, so there is no CLI dependency to install, and it also drops the hardcoded release-please head-branch name.outputs.pris passed raw intoenvand parsed withJSON.parsein the script — never through template-positionfromJson, which GitHub evaluates even whenif:is false and which crashed on''for no-release pushes (the original LAB-865 failure). A bare string expansion of''inenvis harmless.Behaviour on all three push paths
steps.release.outputs.pris empty →if:is false → step skipped; theenvexpansion of the empty string is inert. Job green.outputs.pris the release-please PR JSON → script parses it and assigns27Bslash6to that PR number (re-adding an existing assignee is a no-op). Job green, PR assigned.outputs.pris empty,release_createdis true → assign step skipped,publishjob fires exactly as before. Publish path untouched.Gates
Closes LAB-899. Context: LAB-865 (#58), LAB-764.
Summary by CodeRabbit