Skip to content

fix(desktop): move prereleases to release repo - #6674

Open
TheodoreSpeaks wants to merge 2 commits into
stagingfrom
fix/sim-desktop-releases
Open

fix(desktop): move prereleases to release repo#6674
TheodoreSpeaks wants to merge 2 commits into
stagingfrom
fix/sim-desktop-releases

Conversation

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator

Summary

  • publish dev and staging desktop prereleases to simstudioai/sim-desktop-releases
  • keep stable releases in sim and resolve update assets by channel
  • allow manual downloads from both approved repositories
  • cut over directly; existing unsigned prerelease installs may require one reinstall

Type of Change

  • Bug fix

Testing

  • focused desktop and update-feed tests
  • desktop and Sim type checks
  • lint, block-registry validation, and all 25 repository audits

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 13, 2026 8:22pm

Request Review

@cursor

cursor Bot commented Aug 13, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Changes desktop release and auto-update plumbing across CI, the update API, and the Electron updater, with a new required secret; behavior is covered by tests but a misconfigured token or repo mapping would block dev/staging updates.

Overview
Moves dev and staging desktop prereleases off the main sim repo into public simstudioai/sim-desktop-releases, so followers of the source repo are not notified on every internal shell build. Stable vX.Y.Z releases and their assets remain on sim.

CI creates, uploads, publishes, and prunes prereleases in the release-only repo using a new DESKTOP_RELEASE_TOKEN (required; jobs fail clearly if it is missing). Prerelease tags target main on that repo while release notes still record the source commit SHA. desktop-release.yml picks release repository and GitHub token (prerelease vs stable) from the version tag.

The Sim /api/desktop/update feed and rewriteManifestUrls now query and rewrite URLs against the channel-appropriate repository. The desktop updater allows manual download URLs only from sim and sim-desktop-releases on GitHub.

Docs document the new secret and split release layout. The PR description notes a direct cutover: shells on old prerelease assets in sim may need a one-time reinstall.

Reviewed by Cursor Bugbot for commit bc8875c. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps

greptile-apps Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR moves dev and staging desktop prereleases to simstudioai/sim-desktop-releases while retaining stable releases in the source repository.

  • Selects release storage according to the desktop update channel.
  • Uses a dedicated token for cross-repository prerelease creation, upload, publication, and pruning.
  • Allows updater manifests and manual downloads from either approved repository.
  • Adds focused coverage for repository selection, feed rewriting, and download validation.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
.github/workflows/ci.yml Routes prerelease lifecycle operations through the dedicated release repository and token; the previously reported caller permission mismatch is fixed.
.github/workflows/desktop-release.yml Resolves repository and authentication by channel, validates prerelease credentials before building, and preserves stable uploads through the workflow token.
apps/desktop/src/main/updater.ts Extends manual-download validation to accept assets from either approved Sim release repository.
apps/sim/app/api/desktop/update/latest-mac.yml/route.ts Fetches releases from the repository selected for the deployment channel and rewrites manifest URLs accordingly.
apps/sim/lib/desktop/update-feed.ts Centralizes stable-versus-prerelease repository selection and repository-aware manifest URL rewriting.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Dev[Dev deployment] --> Pre[Prerelease repository]
  Staging[Staging deployment] --> Pre
  Production[Production or self-hosted] --> Stable[Source repository]
  Pre --> Feed[Desktop update feed]
  Stable --> Feed
  Feed --> Desktop[Desktop updater]
Loading

Reviews (2): Last reviewed commit: "fix(desktop): validate prerelease authen..." | Re-trigger Greptile

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/desktop-release.yml Outdated
Comment thread apps/sim/app/api/desktop/update/latest-mac.yml/route.ts
@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@greptile

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit bc8875c. Configure here.

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