Add tag-triggered release workflow publishing prebuilt binaries #7

Closed
opened 2026-10-15 20:44:52 +00:00 by claude-bot · 0 comments
Collaborator

Distribute the CLI as a Forgejo release with prebuilt binaries. It stays on our own infrastructure, users don't need a Rust toolchain, and a bad version can be deleted outright (unlike crates.io).

Add .forgejo/workflows/release.yml:

  • Trigger on tags matching v*.
  • Fail if the tag doesn't match the version in Cargo.toml.
  • Build x86_64-unknown-linux-musl (a static binary that runs on any distro). Add aarch64 or macOS later only if someone asks.
  • Package sporah-<version>-x86_64-linux.tar.gz with the binary, the sporah completions, README and LICENSE.
  • Publish SHA256SUMS.
  • Create the Forgejo release and upload the assets using a scoped token stored as a repo secret.

Then tag v0.1.0 and check that the downloaded binary runs on a clean machine or container.

Depends on: the CI workflow, README, LICENSE and stale-completions issues.

Follow-ups after the release, not filed yet: an AUR sporah-cli-bin PKGBUILD pointing at these assets, and crates.io once the CLI's interface has settled.

Distribute the CLI as a Forgejo release with prebuilt binaries. It stays on our own infrastructure, users don't need a Rust toolchain, and a bad version can be deleted outright (unlike crates.io). Add `.forgejo/workflows/release.yml`: - Trigger on tags matching `v*`. - Fail if the tag doesn't match the `version` in `Cargo.toml`. - Build `x86_64-unknown-linux-musl` (a static binary that runs on any distro). Add aarch64 or macOS later only if someone asks. - Package `sporah-<version>-x86_64-linux.tar.gz` with the binary, the `sporah` completions, README and LICENSE. - Publish `SHA256SUMS`. - Create the Forgejo release and upload the assets using a scoped token stored as a repo secret. Then tag `v0.1.0` and check that the downloaded binary runs on a clean machine or container. Depends on: the CI workflow, README, LICENSE and stale-completions issues. Follow-ups after the release, not filed yet: an AUR `sporah-cli-bin` PKGBUILD pointing at these assets, and crates.io once the CLI's interface has settled.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/sporah-cli#7
No description provided.