This directory is the maintained template for one static Go command in one
repository. It includes the release workflows, a minimal command, GitHub
Release and OCI configuration, Homebrew and Scoop control generation, and a
native package-repository request. Melange installs the staged example
binary by that GoReleaser name; the image entrypoint is /usr/bin/example.
It is not a complete repository policy. Add the adopter's CI, review, rulesets, and ownership controls.
Copy these paths into an existing Go repository without overwriting its source or module files:
.github/workflows/release-please.yml.github/workflows/release.yml.goreleaser.yamlapko.yamlmelange.yaml.release-please-manifest.jsonrelease-please-config.jsonmise.tomlmise.lock
For a new disposable repository, also copy go.mod and cmd/example/. Do not
copy this README into the producer.
Before the workflows run:
- Replace every
REPLACE_WITH_RELEASE_COMMIT_SHAin.github/workflows/release.ymlwith one reviewed, full 40-charactermeigma/releasecommit SHA. - Replace
OWNER/REPOSITORYin.goreleaser.yamlandapko.yamlwith the producer owner and repository. - Replace
HOMEBREW-OWNER,HOMEBREW-TAP,SCOOP-OWNER,SCOOP-BUCKET, and thePACKAGE-REPOSITORY-*values only after those adopter-owned destinations exist. - Replace the
exampleproject, package, binary, cask, manifest, command path, module path, and Release Please package name.melange.yamlmust install the staged file by that GoReleaser binary name, notapplication. - Replace the organization metadata, maintainer, description, homepage, and SPDX license expression.
- Change the Release Please branch and manifest version when the repository
does not use a new
main-branch release history. - Update the linker variables when the command does not define
main.versionandmain.commit.
The one full SHA selects every reusable workflow and checksum signer identity. It also selects the sibling setup action and the CLI release stamp. Do not mix release-unit revisions or add an independent CLI pin.
The caller begins with:
sign-and-notarize-macos: false
sign-native-packages: false
publish-image: false
publish-release: false
publish-homebrew: false
publish-scoop: false
publish-package-repository: falseThe first tag therefore builds and verifies release assets and the OCI layout, populates a draft GitHub Release, and performs a dry-run registry plan. It does not write GHCR, open a tap or bucket pull request, dispatch native package publication, or make the draft public.
The supported publication configuration enables publish-image and
publish-release together. Enable Homebrew, Scoop, or package-repository
publication only in a run that also makes the GitHub Release public.
The Homebrew and Scoop entries use skip_upload: true. GoReleaser generates
their controls inside the authoritative Actions artifact, but the dedicated
publishers own destination pull requests. The package-repository request stays
disabled until producer-native RPM and APK signing, central policy, public
keys, R2, and the protected receiver environment exist.