ci(release): automate desktop release preparation#260
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 423a930aea
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Greptile SummaryThis PR automates Desktop release preparation through release-please. The main changes are:
Confidence Score: 5/5Safe to merge with low release-automation risk. The changed release path has checks for candidate resolution, config drift, release/tag target matching, and Desktop publish preflight. Focused Vitest coverage was added for the new automation helpers. No verified blocking issues remain. No files require special attention.
What T-Rex did
Important Files Changed
Sequence DiagramsequenceDiagram
participant Dev as Developer
participant RP as Release Please workflow
participant CI as CI workflow
participant Final as Finalize Releases
participant GH as GitHub Releases/Tags
participant Desktop as Release Desktop
participant R2 as Cloudflare R2
Dev->>RP: Push to master
RP->>RP: Maintain Desktop release PR
Dev->>CI: Merge release PR to master
CI-->>Final: workflow_run success for tested SHA
Final->>Final: Resolve pending release PR and verify config/script blobs
Final->>GH: Create draft Release and vX.Y.Z tag for tested SHA
GH-->>Desktop: Tag push triggers signed release
Desktop->>GH: Verify draft Release targets tag SHA
Desktop->>R2: Upload updater feed and installers
Desktop->>GH: Upload assets and publish draft Release
Reviews (4): Last reviewed commit: "docs(release): document tested policy in..." | Re-trigger Greptile |
Summary
vX.Y.Ztag contractmaster, then finalize only the exact Release PR merge SHA that passed CIactions/github-scriptmobile-vX.Y.Zcomponent without activating Mobile before an EAS delivery pipeline existsRelease safety
masterSHA gets an independent CI group, so a release merge cannot be canceled or replaced by a later pushmasteradvances; config, manifest, and automation policy must remain byte-identicalworkflow_runchecks out only protectedmasterwith credentials disabled and verifies the automation script blob before minting the App tokenv0.6.3tag/SHA and Desktop package version seed the manifest; this PR does not move or republish itRollout requirement
BOT_APP_IDandBOT_APP_PRIVATE_KEYmust be available as repository/org Actions secrets (not only in the protectedreleaseenvironment). The App needs Contents, Issues, and Pull requests read/write for this repository.Validation
release-please@17.3.0 debug-config --dry-runagainst this branchactionlint 1.7.12with ShellCheck 0.11.0 (ignoring only pre-existing shell style diagnostics)pnpm format:checkpnpm typecheckpnpm test— 227 files, 1,791 tests passedgit diff --checkpnpm check:cicould not complete locally because ESLint auto-concurrency exhausted an orb worker's ~2 GB heap. A serial lint completed with no errors, but exited on pre-existing unpruned suppressions; GitHub CI remains authoritative for the normal configured lint command.