Skip to content

feat(installer): bring channel-aware installer/updater onto rc (cherry-pick #54) - #55

Merged
chr1syy merged 1 commit into
rcfrom
chore/rc-channel-installer
Jun 30, 2026
Merged

feat(installer): bring channel-aware installer/updater onto rc (cherry-pick #54)#55
chr1syy merged 1 commit into
rcfrom
chore/rc-channel-installer

Conversation

@chr1syy

@chr1syy chr1syy commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Bring the channel-aware installer onto rc

Cherry-picks #54 (the opt-in RC release channel) from main onto rc, so the rc branch — and therefore RC release tarballs cut from it — carry the channel-aware install.sh + maestro-relay-ctl, not just the release.yml prerelease marking that rc already had.

Why

main and rc had diverged: main got #54's channel installer, but rc only got the release.yml prerelease change (added when cutting v0.5.0-rc.1). That left a rough edge — the RC tarball's bundled maestro-relay-ctl lacked the channel / update --rc commands, and $CONFIG_DIR/channel written at install wasn't read back. This closes that gap so an RC install can stay on the rc channel across update.

What's included (from #54, final squashed form)

  • install.sh: MAESTRO_RELAY_CHANNEL (stable|rc), channel-aware resolve_release, validates the channel up front, persists it to $CONFIG_DIR/channel on install.
  • maestro-relay-ctl: update --rc/--stable, channel subcommand, explicit MAESTRO_RELAY_VERSION pins preserved, unknown channels normalized to stable.
  • README: channel docs.

The one conflict (the deploy usage line) was resolved to keep rc's multi-provider wording and the new update/channel lines. release.yml already had the identical prerelease line (deduped to one).

Verification

  • bash -n clean on both scripts; channel set/read smoke-tested
  • npm run build clean; 316/316 tests pass
  • No conflict markers; release.yml has exactly one prerelease: line

🤖 Generated with Claude Code

Adds a stable (default) / rc release channel: RC tags publish as GitHub prereleases; install.sh + maestro-relay-ctl gain MAESTRO_RELAY_CHANNEL / 'channel' subcommand / 'update --rc'. Explicit version pins preserved; channel persisted on install; invalid channels rejected/normalized. Review findings addressed.
@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3d7597a5-754a-435c-89f6-cdebaba8571a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/rc-channel-installer

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chr1syy
chr1syy merged commit 5058de1 into rc Jun 30, 2026
1 check passed
chr1syy added a commit that referenced this pull request Jun 30, 2026
Second release candidate — folds in #55 so the RC tarball itself carries
the channel-aware install.sh + maestro-relay-ctl (channel / update --rc),
on top of the Teams (Phase 1) and Telegram providers.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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