chore(ci): move the updater key check to the main gate - #1822
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe pull-request workflow no longer receives Tauri signing secrets or runs the updater-key check. A separate workflow runs the check on ChangesUpdater key verification
Priority: ⬆️ High Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Other · Severity of issue fixed: High Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant UpdaterKeyWorkflow
participant Minisign
GitHubActions->>UpdaterKeyWorkflow: Run on push to main or manual dispatch
UpdaterKeyWorkflow->>Minisign: Sign test payload with TAURI_SIGNING_PRIVATE_KEY
UpdaterKeyWorkflow->>Minisign: Verify signature with extracted updater public key
Minisign-->>GitHubActions: Return verification result
Merge Risk: ⚪ Minimal · up to The updater-key check is moved to main while pull-request workflows no longer receive signing secrets. No current merge-blocking risk was identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
aa4a59f to
34e3f98
Compare
The Updater Key job ran on every pull request with the Tauri release signing key in its step environment, after installing the pull request's own tree. It now runs on a push to main and on a dispatch that is pinned to main, so the secret only ever meets reviewed code. The drift check itself is unchanged. ci-repo.yml no longer declares the two secrets and ci.yml no longer forwards them. Updater Key is not a required status context, so branch protection is unchanged.
34e3f98 to
6c9c19d
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
What changes
The
Updater Keydrift check moves out of the pull-request path..github/workflows/updater-key.ymlis new. It runs the check on apushtomainand onworkflow_dispatch, and the job is guarded byif: github.ref == 'refs/heads/main', so a dispatch cannot aim the signing secret at an unreviewed branch. The check itself is unchanged: it unwraps the committedplugins.updater.pubkey, signs a payload withtauri signer sign, and verifies that signature withminisign -V..github/workflows/ci-repo.ymlloses theupdater-keyjob and theworkflow_callsecret declarations..github/workflows/ci.ymlno longer forwardsTAURI_SIGNING_PRIVATE_KEYorTAURI_SIGNING_PRIVATE_KEY_PASSWORDto therepoarea.blueprint/testing.mdmoves the check from the PR gate row to the main gate row and states why it lives there.Why
The job ran on every pull request. It checked out the pull request's own tree, ran
pnpm install --frozen-lockfile, and then rantauri signer signwith both secrets in the step environment. An author of a same-repository pull request therefore controlled code that executed beside the release signing key. The job also hard-failed when the secret was absent, so a fork pull request failed this gate.A push to
maincarries reviewed code, so the executed tree is no longer author-controlled. The accepted cost is that a drifting pubkey is reported after the merge, not before it.Branch protection
Updater Keywas not a required status context. Branch protection onmainrequires only the area result contexts plus the standalone contexts, per ADR 0018:Repo Result,API Result,Rust Result,Web Result,Desktop Result,Contract Suite Result,Web E2E Smoke Result,Detect Changes,lint-pr-titleandzizmor static audit. No branch protection change is needed, and theRepo Resultcontext still reports the same way.Verification
zizmor --no-online-audits .github/workflows/ .github/actions/reports no finding.pnpm lint:mdandpnpm lint:tracker-refspass.Body checks / follow-ups filed
Closes #1778.
Note
Move updater-key check from PR
ci-repoworkflow to standaloneupdater-key.ymlmainor manual dispatch onmain, and fails when the signing secret is unavailableMacroscope summarized 34e3f98.
Summary by CodeRabbit