paperless-cli now follows the same release shape as
damacus/zitadel-tui, adapted for this
crate.
When changes land on main, the release workflow does the following:
- Runs
release-pleaseagainstrelease-please-config.jsonand.release-please-manifest.json - Creates or updates the release PR and changelog
- After a release is created, checks out the tagged revision
- Builds the Linux release binary
- Packages the binary as
paperless-linux-amd64.tar.gz - Generates
checksums-sha256.txt - Uploads the archive and checksum file to the GitHub release
- Publishes the crate to crates.io using
cargo publish
GITHUB_TOKENProvided automatically by GitHub Actions and used by release-please and release asset upload steps.CARGO_REGISTRY_TOKENRequired for the crates.io publish step.
The crate metadata in Cargo.toml now includes:
descriptionlicenserepositoryhomepagereadmekeywordscategories
This keeps the crate publish step aligned with crates.io expectations.
This document exists partly to make the first release path explicit and visible in the repo. Once the PR merges and release-please cuts the first Rust release, the workflow will package the binary, upload release assets, and attempt the first crates.io publish automatically.