Skip to content

fix(cli): honor restore installer channel selection#78

Merged
peters merged 1 commit intomainfrom
fix/restore-installers-explicit-channel
Apr 10, 2026
Merged

fix(cli): honor restore installer channel selection#78
peters merged 1 commit intomainfrom
fix/restore-installers-explicit-channel

Conversation

@peters
Copy link
Copy Markdown
Contributor

@peters peters commented Apr 10, 2026

Summary

  • add installer-only restore --channel support and thread the selected channel through the restore path
  • generate installer filenames and embedded installer.yml metadata from the selected channel instead of the app default channel
  • update remote published-installer lookup to use the requested channel key directly and document the new restore -i --channel flow

Root Cause

Installer-only restore and remote published-installer lookup were coupled to app.channels.first() or the manifest default channel. That meant rebuilding installers after promoting an existing release required manifest rewriting or other downstream workarounds.

Impact

  • surge restore -i --channel production now resolves releases on production
  • generated installer names and uploaded installer keys use the requested channel
  • embedded installer.yml persists the requested runtime channel metadata
  • remote published-installer lookup no longer blocks on a default-channel mismatch

Validation

  • cargo check -p surge-cli
  • ./scripts/check-maintainability.sh
  • cargo test -p surge-cli cli::tests::restore_
  • cargo test -p surge-cli execute_installers_only_
  • cargo test -p surge-cli plan_remote_published_installer
  • cargo clippy -p surge-cli --all-targets --all-features -- -D warnings -W clippy::pedantic
  • ./scripts/sync-surge-core-vendor.sh --check
  • ./scripts/check-version-sync.sh
  • cargo fmt --all -- --check
  • RUSTFLAGS="-D warnings" cargo test --workspace
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo clippy --workspace --lib --bins --examples -- -D warnings -D clippy::unwrap_used -D clippy::expect_used
  • cargo clippy --workspace --all-targets --all-features -- -D warnings -W clippy::pedantic
  • dotnet format dotnet/Surge.slnx --verify-no-changes
  • dotnet test dotnet/Surge.slnx --configuration Release

Migration Notes

  • none

@peters peters changed the title [codex] fix(cli): honor restore installer channel selection fix(cli): honor restore installer channel selection Apr 10, 2026
@peters peters marked this pull request as ready for review April 10, 2026 14:00
@peters peters merged commit afa5d00 into main Apr 10, 2026
12 checks passed
@peters peters deleted the fix/restore-installers-explicit-channel branch April 10, 2026 14:03
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