Skip to content

Add release workflow: cross-platform binaries with mandatory test gate#1

Merged
torgiren merged 1 commit into
masterfrom
copilot/release-binaries-build-actions
Mar 25, 2026
Merged

Add release workflow: cross-platform binaries with mandatory test gate#1
torgiren merged 1 commit into
masterfrom
copilot/release-binaries-build-actions

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 25, 2026

go.yml only triggers on branch pushes and PRs — pushing a v* tag runs nothing, so releases were published without any test coverage. This adds a dedicated release workflow that enforces tests before any binary leaves the repo.

Changes

  • .github/workflows/release.yml — new workflow triggered on v* tag pushes with a three-stage pipeline:

    test → build (×5, parallel) → release
    
    • test — runs go test -v ./...; all downstream jobs are blocked until it passes
    • build — matrix cross-compilation for linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64; binaries named ksef-cli-{os}-{arch}[.exe]
    • release — creates a GitHub Release via softprops/action-gh-release@v2 and attaches all artifacts
  • Least-privilege permissions on every job (contents: read on test/build, contents: write only on release)

The two workflows are complementary: go.yml covers CI on branches/PRs, release.yml covers the tag → published-binary path.

@torgiren torgiren force-pushed the copilot/release-binaries-build-actions branch from 8a783b7 to 3a6bcba Compare March 25, 2026 19:48
@torgiren torgiren marked this pull request as ready for review March 25, 2026 19:50
@torgiren torgiren merged commit 46fff21 into master Mar 25, 2026
1 check passed
@torgiren torgiren deleted the copilot/release-binaries-build-actions branch March 25, 2026 19:50
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.

2 participants