Packaging & releases¶
How contextd is built, tagged, and published to package managers.
Artifacts (GitHub Releases)¶
GoReleaser produces:
- Archives (
.tar.gz/.zip) for macOS / Linux / Windows (amd64 + arm64) .deb/.rpm(nFPM)checksums.txt
Package managers¶
| Manager | Repo | Update path |
|---|---|---|
| Homebrew | orkcom-tech/homebrew-tap |
CI runs bump-formula.sh |
| Scoop | orkcom-tech/scoop-bucket |
CI runs bump-manifest.sh |
| Winget | templates in packaging/winget/ |
manual PR for now |
Branch / CI policy¶
| Branch | Automatic CI | Publish |
|---|---|---|
dev/** |
none | — |
test/** |
tests if code paths changed | no |
main |
tests → minor release if code paths changed | yes |
release/X.Y.Z |
none on push | manual test / deploy (patch) |
| PRs | tests if code paths changed | no |
| docs / deploy templates / README only | docs.yml or nothing |
no version bump |
| Manual Actions → ci → Run workflow | skip change gate → tests → minor release | yes |
Code paths that start ci.yml on push/PR: **/*.go, go.mod/go.sum, Makefile, cmd/**, internal/**, scripts/**, .goreleaser.yaml, release workflow YAML.
Manual run always does the full pipeline (tests + new minor + brew/scoop), even with no code diff.
Version bumps:
- main (code change) → next minor
- Manual ci → next minor
- Bump major workflow → next major
- release-branch → deploy → next patch + new
release/X.Y.Zpin
Scripts: scripts/ci/next-version.sh, publish-packages.sh, create-release-refs.sh.
Secret¶
Repo secret PACKAGING_TOKEN — fine-grained PAT with Contents: Read and write on homebrew-tap, scoop-bucket, and contextverse (for checksum download).