Skip to content

build: publish verified multi-platform archives - #2

Merged
airouter-dev merged 1 commit into
mainfrom
release/multiplatform-artifacts
Jul 29, 2026
Merged

build: publish verified multi-platform archives#2
airouter-dev merged 1 commit into
mainfrom
release/multiplatform-artifacts

Conversation

@airouter-dev

Copy link
Copy Markdown
Owner

Summary

  • add a tag-only release workflow for Linux, macOS, and Windows on AMD64/ARM64
  • build the complete archive set twice and compare every byte before publishing
  • attach a SHA-256 manifest and GitHub OIDC artifact attestations
  • embed and validate the tag version, document verification, and add actionlint to CI

This is a distribution-only v0.1.2 patch. Runtime behavior and the oai-smoke/v1 output schema do not change.

Security boundaries

  • GitHub Actions are pinned to immutable commit SHAs
  • checkout credentials are not persisted
  • the build job is read-only; only the tag-gated publish job receives contents: write, id-token: write, and attestations: write
  • the workflow refuses a tag that does not match the source version and refuses to replace an existing release
  • archives contain only the binary, MIT license, and English README

Validation

  • go test ./...
  • go test -race ./...
  • go vet ./...
  • GOTOOLCHAIN=go1.22.0 go test ./...
  • GOTOOLCHAIN=go1.22.0 go vet ./...
  • go run github.com/rhysd/actionlint/cmd/[email protected]
  • local release script built all six targets twice; checksum manifests and each archive were byte-identical
  • all tar/zip entry paths were inspected; no absolute paths or parent traversal
  • targeted high-confidence secret scan: 0 findings

@airouter-dev
airouter-dev force-pushed the release/multiplatform-artifacts branch from 4eabbc3 to 5fe4afe Compare July 29, 2026 07:11
@airouter-dev
airouter-dev merged commit 9807767 into main Jul 29, 2026
12 checks passed
@airouter-dev
airouter-dev deleted the release/multiplatform-artifacts branch July 29, 2026 07:16
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