Skip to content

feat(desktop): restructure release channels and artifact naming#266

Merged
lefarcen merged 8 commits intomainfrom
feat/desktop-release-channels
Mar 19, 2026
Merged

feat(desktop): restructure release channels and artifact naming#266
lefarcen merged 8 commits intomainfrom
feat/desktop-release-channels

Conversation

@lefarcen
Copy link
Copy Markdown
Collaborator

Summary

  • Restructure release channels: nightly-prodbeta, nightly-testnightly
  • New artifact naming format: nexu-simplest-openclaw-desktop-{version}-{channel}-{arch}.{ext}
  • Add latest artifacts that get overwritten each build for stable download URLs
  • Patch latest-mac.yml to match new filenames so auto-update works correctly

Channel Mapping

Channel Environment Cloud URL R2 Path
nightly test nexu.powerformer.net /nightly/
beta prod nexu.io /beta/
stable prod nexu.io /stable/

File Naming Examples

nexu-simplest-openclaw-desktop-0.1.3-stable-arm64.dmg
nexu-simplest-openclaw-desktop-latest-stable-arm64.dmg

nexu-simplest-openclaw-desktop-0.1.3-beta-arm64.dmg
nexu-simplest-openclaw-desktop-latest-beta-arm64.dmg

nexu-simplest-openclaw-desktop-0.1.3-nightly-arm64.dmg
nexu-simplest-openclaw-desktop-latest-nightly-arm64.dmg

Test plan

  • Trigger desktop-nightly workflow and verify artifacts are named correctly
  • Trigger desktop-beta workflow and verify artifacts are named correctly
  • Verify latest-mac.yml is patched with correct filenames
  • Verify auto-update works with new naming scheme

🤖 Generated with Claude Code

- Rename channels: nightly-prod → beta, nightly-test → nightly
- New artifact naming: nexu-simplest-openclaw-desktop-{version}-{channel}-{arch}.{ext}
- Add latest artifacts: nexu-simplest-openclaw-desktop-latest-{channel}-{arch}.{ext}
- Patch latest-mac.yml to match new filenames for auto-update
- Remove desktop-nightly-test.yml, add desktop-beta.yml

Channel mapping:
- nightly: test environment (nexu.powerformer.net)
- beta: prod environment (nexu.io)
- stable: prod environment (nexu.io)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Mar 18, 2026

Deploying nexu-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 64c1902
Status: ✅  Deploy successful!
Preview URL: https://960af169.nexu-docs.pages.dev
Branch Preview URL: https://feat-desktop-release-channel.nexu-docs.pages.dev

View logs

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 80c977e8b5

ℹ️ 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".

Comment thread .github/workflows/desktop-nightly.yml Outdated
Comment thread .github/workflows/desktop-beta.yml
lefarcen and others added 3 commits March 19, 2026 11:09
Replace all "Nexu Desktop" references with "Nexu" so that app.setName
matches the electron-builder productName.  This avoids userData path
drift — Electron derives the storage directory from app.name, and a
mismatch would silently move the data root on upgrade.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nels

For nightly and beta builds, patch package.json version at build time
(e.g. 0.1.1 → 0.1.1-nightly.20260319) so each daily build has a
unique version and electron-updater can detect it as an update.

Stable channel is unchanged — uses the version from package.json as-is.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…channels

# Conflicts:
#	apps/desktop/main/index.ts
Avoid confusion with generic "test" / "prod" naming.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lefarcen lefarcen marked this pull request as draft March 19, 2026 03:43
- Fix Sentry DSN lookup to match renamed nexu-test/nexu-prod environments
- Add build-config.json generation to desktop-release.yml (was missing)
- Add checksum upload to R2 in desktop-build.yml (parity with release)
- Stagger cron: nightly UTC 00:00, beta UTC 18:00

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove duplicate app.setName("Nexu Desktop") / app.dock.show() calls
(merge artifact). Set app name to "Nexu" once before any getPath() calls
to avoid userData/logs path inconsistency.

Update CI check scripts to match the new logs/userData directory name.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lefarcen lefarcen marked this pull request as ready for review March 19, 2026 06:20
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@lefarcen lefarcen merged commit b0a6bb0 into main Mar 19, 2026
11 checks passed
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.

2 participants