Skip to content

Add release binary workflow - #70

Merged
andrewring merged 3 commits into
mainfrom
dev/andrewring/release-artifacts
Jun 16, 2026
Merged

Add release binary workflow#70
andrewring merged 3 commits into
mainfrom
dev/andrewring/release-artifacts

Conversation

@andrewring

@andrewring andrewring commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a GitHub Actions workflow to automatically build and upload pre-built binaries when a release is published, with manual dispatch support for backfilling prior releases.

  • Triggers: release: published (automatic) and workflow_dispatch with a tag input (manual backfill)
  • Targets: linux amd64/arm64 (static musl), macOS amd64/arm64, Windows amd64
  • Validation job gates workflow_dispatch runs, verifying the tag and GitHub Release exist before building
  • SHA256 checksums generated and uploaded alongside binaries
  • Smoke test (--version) on every binary before upload
  • Clobber opt-in for manual runs (default off), no clobber on release trigger
  • Least-privilege permissions: contents: read at workflow level, contents: write only on the upload job

Related to #68 — takes a different approach (no Docker/GHCR, adds manual dispatch, checksums, validation, and smoke tests). Docker support is planned as a follow-up.

Test plan

  • Run workflow via workflow_dispatch for an existing tag (v0.1.10) and verify binaries + checksums appear on the release (run here)
    Validated darwin-arm64 and linux-amd64 on the respective plaforms.
  • Run workflow via workflow_dispatch with an invalid tag and verify it fails at the validation step (run here)
  • Publish a new release and verify the workflow triggers automatically - not possible prior to merging to main

Generated with Devin

andrewring and others added 3 commits June 15, 2026 19:49
Automatically build and upload pre-built binaries when a GitHub
release is published. Also supports manual workflow_dispatch to
backfill binaries for prior releases.

Targets: linux amd64/arm64 (musl), macOS amd64/arm64, Windows amd64.

Includes SHA256 checksums, per-binary smoke tests, and a validation
job that verifies the tag and release exist before building.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@andrewring
andrewring merged commit 0cb99e0 into main Jun 16, 2026
4 of 5 checks passed
@andrewring
andrewring deleted the dev/andrewring/release-artifacts branch June 16, 2026 01:34
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