Skip to content

build: publish a binary when a version tag is pushed - #30

Merged
tkc merged 1 commit into
mainfrom
release-workflow
Sep 10, 2026
Merged

build: publish a binary when a version tag is pushed#30
tkc merged 1 commit into
mainfrom
release-workflow

Conversation

@tkc

@tkc tkc commented Sep 10, 2026

Copy link
Copy Markdown
Owner

CI checked every change but nothing was ever released, so the only way to run termit was to build it. This adds the release path for v0.1.0.

What happens on a tag

.github/workflows/release.yml, on push of a v* tag (or workflow_dispatch with a tag):

  1. Refuses to continue if the tag and Cargo.toml's version disagree.
  2. cargo test, then cargo build --release on an Apple silicon runner.
  3. Refuses to continue if the built binary is not arm64.
  4. Packs termit + README.md + LICENSE into termit-<version>-macos-arm64.tar.gz, writes SHA256SUMS.
  5. Creates the GitHub release with notes that carry the install steps, the quarantine line, and the checksum.

Decisions

Apple silicon only. Every number in the docs was measured on arm64 and termit has never been run on an Intel Mac. Publishing an untested x86_64 slice would claim more than is known, so Intel users build from source, and the README says exactly that.

Not notarised. No Apple Developer account is involved, so a downloaded copy carries the quarantine flag. The README and the release notes both give the one line that clears it. The Homebrew tap avoids the flag entirely, which is why the install section leads with it.

Next, outside this PR

  • Tag v0.1.0 so this runs.
  • Create the tkc/homebrew-termit tap with a formula pointing at the released tarball and its checksum, so brew install tkc/termit/termit works as the README says.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GvMacYD6T9EoWqc7C247Hr

CI checked every change but nothing was ever released, so the only way
to run termit was to build it.

A tag matching v* now builds on an Apple silicon runner, refuses to go
on if the tag and Cargo.toml disagree or the binary is not arm64, and
attaches a tarball plus SHA256SUMS to a GitHub release whose notes carry
the install steps and the checksum.

No Intel slice is published. Every measurement in the docs was taken on
arm64 and termit has never been run on an Intel Mac; shipping an
untested x86_64 binary would claim more than is known. Source builds
still work there.

The README install section leads with a Homebrew tap, which also avoids
the quarantine flag that an unsigned download carries.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GvMacYD6T9EoWqc7C247Hr
@tkc
tkc merged commit 1d125fa into main Sep 10, 2026
1 check passed
@tkc
tkc deleted the release-workflow branch September 10, 2026 04:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant