This document describes the release process for Solana Validator Switch CLI.
- Ensure all tests pass:
cargo test - Ensure code is formatted:
cargo fmt - Ensure no clippy warnings:
cargo clippy - Update CHANGELOG.md with release notes
-
Update version and create tag:
./scripts/create-release.sh 1.0.1
-
Push changes and tag:
git push origin main git push origin v1.0.1
-
Monitor GitHub Actions:
- Go to the Actions tab
- Watch the release workflow build binaries for all platforms
-
Verify release:
- Check the releases page
- Ensure all binaries are uploaded
- Test download links
The release workflow builds binaries for:
- Linux x86_64
- Linux ARM64
- macOS x86_64 (Intel)
- macOS ARM64 (Apple Silicon)
- Windows x86_64
- Update documentation if needed
- Announce release in relevant channels
- Update Homebrew tap (if maintaining one separately)
If the release workflow fails:
- Check the workflow logs in GitHub Actions
- Common issues:
- Missing dependencies for cross-compilation
- Cargo.toml version mismatch
- Network issues during artifact upload
If automated release fails, you can build manually:
# Build for current platform
cargo build --release
# Create archive
tar czf svs-$(rustc -vV | sed -n 's|host: ||p').tar.gz -C target/release svs
# Upload to GitHub releases manually