A tool for updating CLI applications, built with Rust and featuring automated cross-platform releases.
- Cross-platform support (Linux, macOS, Windows)
- Multiple architectures (x86_64, ARM64)
- Automated GitHub Actions workflows for building and releasing
- Static binary support for maximum compatibility
# Download the latest release for your platform
curl -L https://github.com/yourusername/cli-updater/releases/latest/download/cli-updater-v0.1.0-x86_64-unknown-linux-gnu.tar.gz | tar -xz
sudo mv cli-updater /usr/local/bin/Download the appropriate binary for your platform from the releases page.
Available platforms:
- Linux: x86_64 and ARM64 (both glibc and musl variants)
- macOS: Intel (x86_64) and Apple Silicon (ARM64)
- Windows: x86_64 and ARM64
git clone https://github.com/yourusername/cli-updater.git
cd cli-updater
cargo build --release# Show help
cli-updater --help
# Show version information
cli-updater --version- Rust 1.70+ (with 2021 edition support)
- Git
# Debug build
cargo build
# Release build
cargo build --release
# Build for specific target
cargo build --release --target x86_64-unknown-linux-muslcargo testInstall cross for easy cross-compilation:
cargo install cross --git https://github.com/cross-rs/cross
cross build --release --target aarch64-unknown-linux-gnuThis project uses automated GitHub Actions workflows for building and releasing. See RELEASE.md for detailed information about the release process.
# Create and push a new release
./scripts/release.sh 1.0.0The release workflows automatically build binaries for:
| Platform | Target | Notes |
|---|---|---|
| Linux x64 | x86_64-unknown-linux-gnu |
Standard Linux with glibc |
| Linux x64 Static | x86_64-unknown-linux-musl |
Static binary, works everywhere |
| Linux ARM64 | aarch64-unknown-linux-gnu |
ARM64 Linux with glibc |
| Linux ARM64 Static | aarch64-unknown-linux-musl |
Static ARM64 binary |
| macOS Intel | x86_64-apple-darwin |
Intel-based Macs |
| macOS Apple Silicon | aarch64-apple-darwin |
M1/M2 Macs |
| Windows x64 | x86_64-pc-windows-msvc |
64-bit Windows |
| Windows ARM64 | aarch64-pc-windows-msvc |
ARM64 Windows |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
- Built with Rust
- Automated builds powered by GitHub Actions
- Cross-compilation support via
cross