AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Go Release

skill-bitwise-media-group-skills-go-release · by bitwise-media-group

Release engineering for Go projects — GoReleaser v2 with version ldflags into an internal/version package, SBOMs and multi-arch container images, tag-triggered GitHub Actions releases, CI running build/vet/test -race/govulncheck with SHA-pinned actions, and Dependabot coverage for gomod, tools, npm, and Actions. Use when adding GitHub Actions CI for a Go repository; writing a release workflow tha…

No reviews yet
0 installs
20 views
0.0% view→install

Install

$ agentstack add skill-bitwise-media-group-skills-go-release

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-bitwise-media-group-skills-go-release)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
23d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Go Release? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Go release engineering

Tag-driven releases: pushing a vX.Y.Z tag builds cross-platform archives, checksums, SBOMs, and multi-arch container images via GoReleaser. CI gates every push; Dependabot keeps everything — including the action pins — fresh. This layers on the layout and Makefile from the go-project skill.

1. Stamp version metadata into internal/version

// Package version exposes build metadata stamped into the binary at link time.
// Keep these as vars (not consts) so -ldflags "-X ..." can rewrite them; an
// unbuilt or `go run` binary reports the defaults.
package version

var (
	Version   = "dev"     // semver release tag, e.g. v1.2.3
	Commit    = "none"    // short git SHA
	BuildDate = "unknown" // RFC3339 UTC build timestamp
)

Both make build and GoReleaser inject the same vars at the same import path:

-ldflags "-s -w -X /internal/version.Version={{ .Version }} ..."

Expose the metadata through --version output or a GET /version endpoint.

2. GoReleaser config

Copy [templates/goreleaser.yaml](templates/goreleaser.yaml) to .goreleaser.yaml and replace the myapp / OWNER/REPO placeholders. What it encodes:

  • Static, reproducible binaries: CGO_ENABLED=0, -trimpath, -s -w, for linux + darwin ×

amd64 + arm64.

  • tar.gz archives shipping the LICENSE, a checksums.txt, and an SBOM per archive —

generated by the syft pinned in tools/go.mod and invoked via go tool, so nothing needs to be on PATH.

  • A changelog that excludes docs: / test: / chore: / ci: conventional-commit prefixes.
  • dockers_v2 multi-arch images (buildx) pushed to GHCR with OCI annotations.

Validate locally with make snapshot (goreleaser release --snapshot --clean) — full build, no publish.

3. CI workflow

Copy [templates/ci.yaml](templates/ci.yaml) to .github/workflows/ci.yaml. Every push and pull request runs go build, go vet, go test -race, and govulncheck. Conventions:

  • The Go version comes from go.mod (go-version-file), never hard-coded in the workflow.
  • Every action is pinned to a full commit SHA with the tag in a trailing comment — a moved tag

can never change what runs. Dependabot keeps the pins fresh.

  • permissions: contents: read — the default token does nothing else.

4. Release workflow

Copy [templates/release.yaml](templates/release.yaml) to .github/workflows/release.yaml. It triggers on v* tags, checks out with fetch-depth: 0 (GoReleaser needs full history for the changelog), sets up QEMU + buildx for multi-arch images, logs into GHCR with the built-in GITHUB_TOKEN, and runs goreleaser release --clean — SBOMs come from the pinned syft via go tool, so there is no separate syft install step. Cutting a release is exactly: push a semver tag.

5. Dependabot

Copy [templates/dependabot.yaml](templates/dependabot.yaml) to .github/dependabot.yaml: daily checks with a 7-day cooldown, minor + patch bumps grouped into one PR per ecosystem (majors arrive as individual PRs). tools/go.mod gets its own gomod entry — Dependabot does not descend into nested modules — so developer-tool bumps never ride along with application dependency PRs, and the github-actions entry keeps the workflow SHA pins fresh. For the rationale behind each knob and the full ecosystem matrix (docker, docker-compose, uv, …), see [reference.md](reference.md).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.