docs(release): align release checklist with the #1119 auto-publish flow#1137
Conversation
…lback PR #1119 made the prod build pipeline publish the draft and dispatch the R2 mirror automatically once all targets land, so the checklist's manual Step 4/5 now apply only as a verification fallback (non-prod channel or a partial build).
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the release checklist documentation (.github/RELEASE_CHECKLIST.md) to clarify that the production release auto-publishes, making the manual publishing steps a verification fallback. There are no review comments to address.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
A Codex audit of the checklist against the merged #1119 pipeline found the earlier "manual steps are a fallback" framing was a foot-gun: the manual gh release edit --draft=false bypasses every guard the auto-publisher adds (completeness, single-source markers, metadata hash anchor, seal/re-read), so following it when auto-publish has failed-closed force-publishes exactly the bad state the guard caught. - Step 4: a prod release publishes itself; describe how to read the auto-publish outcome (published / wait / fail) and what to do for each. Demote manual publish to a clearly-marked last resort that pins target_commitish and is never used for a partial draft or to mark a non-prod build latest. - Step 5: correct the R2 trigger — the normal path is the auto-publisher's explicit workflow_dispatch (a GITHUB_TOKEN publish emits no release:published); the webhook only fires on a manual personal-credential publish. - Step 3: note all three final targets must come from one build commit (mac finalize uses source_sha, win full uses dev HEAD) or auto-publish fails closed; fix the stale source_workflow_ref example (now a workflow-snapshot tag).
Restructure the right-side Status panel from 2 sections (Progress + Sources) into 4 (Progress -> Workspace/Git -> Changed files/Artifact -> Sources), fold the standalone Files tab into the panel as a compact changed-files list, and move the titlebar worktree badge into the Git section. Change boundary (packages/app, packages/ui): - Status panel: new Git section (diff stats -> Review, branch row, worktree indicator with tooltip + open-directory) and Artifact section (changed files with hover/focus-visible open + reveal); Git section hidden outside a git repo. Data from sync.data.vcs (branch), sessionInfo().executionContext.activeWorktree (worktree), aggregateFiles(turn_change_aggregate) (diff stats). - Files tab removed from RightPanelStaticTab / RIGHT_PANEL_TAB_META / command palette / keybind; legacy persisted "files" coerced to "status" via coerceLegacySidePanelTab + migrateLegacyRightPanelTab. - Titlebar PawworkWorktreeBadge removed (worktree info now lives in the panel Git section). - New `changes` icon registered (packages/ui). Verification: - typecheck clean; full app unit suite 1753 pass / 0 fail. - Visual: status-summary-panel snap (4 sections + rest->hover open/reveal) plus a dev:desktop walk in the real Electron host (dark theme, zh locale, live sidecar) - Git section populated from real VCS (+N/-N, branch main), Artifact section listing a real session file (sample-test.md, +76). - Codex adversarial review P1 findings fixed; 5 review threads resolved. Brought current with dev: one conflict in context/layout.tsx - dev had extracted the inline layout helpers into context/layout-state.ts / layout-projects.ts (#1056 slice work). Took dev's refactored layout.tsx and ported this branch's defaultSidePanelTab `| "files"` widening into layout-state.ts. Final state 0 behind dev; also merged #1135/#1136/#1137/#1139 cleanly (no file overlap). Deferred: dev:desktop worktree-indicator tooltip + non-git-hide are state-conditional and were not exercised live (hover open/reveal covered by the snap). session-side-panel.test.tsx isolation failure is the pre-existing mock.module warmup flake (its @/context/command mock omits matchKeybind/parseKeybind that terminal.tsx imports transitively); green in the full suite, tracked under the #1084 mock.module cleanup. Relates #1056.
Summary
Bring
.github/RELEASE_CHECKLIST.mdin line with the auto-publish flow merged in PR #1119. A Codex audit of the checklist against the actual pipeline (build.yml+ the release scripts) found the manual publish steps now read as required/safe when they bypass the auto-publisher's guards. This rewrites Steps 3–5:gh release editis demoted to a clearly-marked last resort that pinstarget_commitishand is never used for a partial draft or to mark a non-prod build latest.workflow_dispatch(aGITHUB_TOKENpublish emits norelease: published); the webhook fires only on a manual personal-credential publish.source_sha, winfullusesdevHEAD) or auto-publish fails closed; fix the stalesource_workflow_refexample.Docs only — no code change. Follow-up to PR #1119; no separate issue.
Why
PR #1119 made prod releases publish automatically with a single-source guard (per-target provenance markers, content anchor, seal/re-read). The checklist still presented manual
gh release edit --draft=false --latestas a normal/fallback step. Codex flagged two [P1]s: (1) the manual command bypasses every guard, and the "use it for a partial build / non-prod" framing invites publishing an incomplete or non-stable release as latest; (2) when auto-publish has failed closed (mixed-source / metadata drift / missing marker), following the manual step force-publishes exactly the bad state the guard caught — and it didn't pintarget_commitish. This rewrite makes the runbook match what the code actually does and removes the foot-gun.Related Issue
None — documentation follow-up to PR #1119.
Human Review Status
PendingReview Focus
Accuracy of the rewritten steps against the merged pipeline: that auto-publish fires for the Step 3 build commands, publishes pinned to the build commit + latest, and dispatches the mirror; that the "wait / fail → do not hand-publish" guidance matches
publish-when-complete.ts; and that the same-commit requirement (macsource_shavs wingithub.sha) is stated correctly.Risk Notes
Documentation only — no code, workflow, dependency, permission, or behavior change. The change removes a dangerous instruction (manual publish that bypasses the #1119 guards) and reframes it as a guarded last resort. The two
ghsurfaces referenced were verified to exist (gh release edit --target,gh release view --json targetCommitish). No visible app UI or copy changed (UI checklist item left unticked for that reason).How To Verify
Screenshots or Recordings
N/A — repository documentation only.
Checklist
bug,enhancement,task,documentation. Type labels are author-added; the labeler bot does NOT assign them. Add the label in the GitHub UI, then tick this.app,ui,platform,harness,ci. The labeler bot assigns these on PR open based on changed paths. Confirm the bot's choice (or override if wrong), then tick this.P0,P1,P2,P3. The priority-triage bot suggests one on PR open. Confirm or override, then tick this.Pending,Approved by @<reviewer>, orNot required: <reason>(default isPending; "not required" is restricted to bot-authored low-risk PRs).dev, and my PR title and commit messages use Conventional Commits in English.