Skip to content

Latest commit

 

History

History
70 lines (51 loc) · 1.65 KB

File metadata and controls

70 lines (51 loc) · 1.65 KB

Release Process

This document describes the release process for Solana Validator Switch CLI.

Prerequisites

  • Ensure all tests pass: cargo test
  • Ensure code is formatted: cargo fmt
  • Ensure no clippy warnings: cargo clippy
  • Update CHANGELOG.md with release notes

Creating a Release

  1. Update version and create tag:

    ./scripts/create-release.sh 1.0.1
  2. Push changes and tag:

    git push origin main
    git push origin v1.0.1
  3. Monitor GitHub Actions:

    • Go to the Actions tab
    • Watch the release workflow build binaries for all platforms
  4. Verify release:

    • Check the releases page
    • Ensure all binaries are uploaded
    • Test download links

Platform Support

The release workflow builds binaries for:

  • Linux x86_64
  • Linux ARM64
  • macOS x86_64 (Intel)
  • macOS ARM64 (Apple Silicon)
  • Windows x86_64

Post-Release

  1. Update documentation if needed
  2. Announce release in relevant channels
  3. Update Homebrew tap (if maintaining one separately)

Troubleshooting

If the release workflow fails:

  1. Check the workflow logs in GitHub Actions
  2. Common issues:
    • Missing dependencies for cross-compilation
    • Cargo.toml version mismatch
    • Network issues during artifact upload

Manual Release (Emergency)

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