Skip to content

Add goreleaser and rewrite the README for snadcat - #10

Merged
JEHoctor merged 1 commit into
mainfrom
release-tooling
Oct 8, 2026
Merged

JEHoctor merged 1 commit into
mainfrom
release-tooling

Conversation

@JEHoctor

@JEHoctor JEHoctor commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Milestone 6d, first half. Makes the binary installable; the tag is not pushed by this PR.

.goreleaser.yaml — six targets (linux/darwin/windows × amd64/arm64), CGO_ENABLED=0 so they are static, -trimpath, and the version stamped via -X …/internal/version.Version so a release archive doesn't depend on the toolchain's VCS stamps. Every archive carries LICENSE and NOTICE — Apache-2.0 §4 requires that of a redistribution, and these archives are the redistribution.

.github/workflows/release.yml — releases on a v* tag; workflow_dispatch builds a snapshot, skips publishing, and uploads dist/ so the pipeline can be exercised without cutting a release. Actions pinned by commit.

Verified locally: goreleaser check passes, a full snapshot build produces all six archives, each contains LICENSE/NOTICE/README.md/snadcat, the extracted binary reports Snadcat 0.0.1-next, and the linux build is statically linked.

README rewritten for snadcat: install from Releases with checksum verification, or go install; no yq/jq needed on the host. It leads with a status section saying what "early" means — docker support is about to be replaced by podman and removed, there is no upgrade path until the manifest lands (#7), and docs/ still describes the bash tool (#9). Upstream's commercial-support section is reframed as theirs, with a note that this fork is unaffiliated. install.sh is untouched; it installs the bash CLI and the README says so.

After merge, v0.0.1 is a tag push away.

🤖 Generated with Claude Code

https://claude.ai/code/session_01YKma722KMnAX3LcDLUYDQ5

Release tooling for the first published binary: six targets
(linux/darwin/windows x amd64/arm64), CGO off so they are static,
-trimpath, and the version stamped through ldflags so a release archive
does not depend on the toolchain's VCS stamps. Every archive carries
LICENSE and NOTICE, which Apache-2.0 section 4 requires of a
redistribution and these archives are the redistribution.

The workflow releases on a v* tag; a manual run builds a snapshot,
skips publishing and uploads the artifacts, so the pipeline can be
exercised without cutting a release. Actions are pinned by commit as
elsewhere. Verified locally with `goreleaser check` and a full snapshot
build: archives contain the licence files, the binary reports the
stamped version, and the linux build is statically linked.

The README now documents snadcat rather than upstream's bash tool:
install from Releases with checksum verification or `go install`, no yq
or jq needed on the host, and a prominent status section saying what
"early" means — docker support is about to be replaced by podman, there
is no upgrade path until the manifest lands, and the docs/ site still
describes the bash tool. install.sh is left alone; it installs the bash
CLI and the README says so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YKma722KMnAX3LcDLUYDQ5
@JEHoctor
JEHoctor merged commit 4347362 into main Oct 8, 2026
1 check passed
@JEHoctor
JEHoctor deleted the release-tooling branch October 8, 2026 21:43
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