You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
- Add a **nightly release channel** that tracks rolling builds from
\`main\`, versioned as \`0.x.y-dev.<unix_seconds>\`
- Users opt in via \`sentry cli upgrade nightly\` or \`curl ... | bash
-s -- --version nightly\`; the channel is persisted so future \`sentry
cli upgrade\` calls track the same channel automatically
- Add \`--force\` flag to re-download even when already up to date
## Changes
**CI** — three new/modified jobs in \`ci.yml\`:
- \`nightly-version\`: computes the nightly version string on \`main\`
pushes (skipped on PRs — skipped ≠ failed)
- \`build-binary\`: injects the nightly version into \`package.json\`
before building when on \`main\`
- \`publish-nightly\`: after build+E2E pass on \`main\`, uploads \`.gz\`
binaries + \`version.json\` to a rolling GitHub prerelease tagged
\`nightly\` via \`gh release upload --clobber\`
**Install script** — \`--version nightly\` downloads from the
\`nightly\` tag, fetches \`version.json\` for the display version,
passes \`--channel nightly\` to \`cli setup\` to persist the preference
**DB** — new \`src/lib/db/release-channel.ts\`: \`getReleaseChannel()\`
/ \`setReleaseChannel()\` / \`parseReleaseChannel()\` using the existing
\`metadata\` table (no migration needed)
**\`cli setup\`** — new \`--channel\` flag persists the channel on
install (used by the install script and upgrade auto-migration)
**\`cli upgrade\`** — \`nightly\`/\`stable\` as positional version args
switch channels (no separate \`--channel\` flag needed); new \`--force\`
flag; auto-migrates brew/npm/pnpm/bun/yarn installs to a standalone
binary when switching to nightly (with a warning about the old install)
**Version check** — reads persisted channel; fetches \`version.json\`
from the nightly release for nightly users; shows "New nightly
available:" in the update notification
## Testing
- 11 new unit tests in \`test/lib/db/release-channel.test.ts\`
- \`bun run typecheck\` passes clean
- \`bun run lint\` passes clean
- \`bun test test/lib/db/ test/lib/version-check.test.ts\` — 156 tests
passing
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
0 commit comments