repozip is a small command-line tool that creates a ZIP archive of the current Git repository using git archive.
- Rust and Cargo
- Git installed and available on
PATH - A Git repository with at least one commit (
HEAD)
Create project.zip from the current repository:
cargo run --Provide a custom archive name:
cargo run -- --output-path backupThe optional zip subcommand is also available:
cargo run -- zipRun the command from the repository you want to archive. The archive is created from the committed HEAD tree.
Format, lint, test, and build the project with:
cargo fmt --all
cargo clippy --all-targets --all-features --locked -- -D warnings
cargo test --all-features --locked
cargo build --release --lockedGitHub Actions runs these checks for pushes and pull requests. Tagged releases are built as platform-specific artifacts.
After configuring cargo-dist, create a version tag and push it:
git tag v0.1.0
git push origin v0.1.0The release workflow uses the tag to build and publish the release artifacts on GitHub.