1.7 KiB
1.7 KiB
Distribution
notcrawl ships through GitHub Releases, Homebrew tap updates, and optional
Cloudsmith APT/RPM repositories.
Local Checks
go test ./...
go build ./cmd/notcrawl
make release-notes TAG=v0.1.0
If GoReleaser is installed:
make release-snapshot
That creates local snapshot archives, checksums, .deb, and .rpm packages
under dist/ without publishing.
Release Notes
Generate local notes from conventional commits:
scripts/release-notes.sh v0.1.0
GitHub also uses Release Drafter to label PRs and maintain draft release notes.
Tagged Release
Create and push a semver tag:
git tag v0.1.0
git push origin v0.1.0
The release workflow:
- runs tests
- generates release notes
- builds GoReleaser artifacts
- publishes GitHub release assets
- optionally publishes APT/RPM packages to Cloudsmith
- updates the Homebrew tap
Required Secrets
HOMEBREW_TAP_GITHUB_TOKEN: token that can push to the tap repositoryCLOUDSMITH_API_KEY: optional; enables package publishing
Optional Variables
HOMEBREW_TAP_REPO: defaults tovincentkoc/tapCLOUDSMITH_APT_TARGETS: comma-separated targets likeubuntu/jammy,debian/trixieCLOUDSMITH_DISTRIBUTIONandCLOUDSMITH_RELEASE: legacy single APT targetCLOUDSMITH_RPM_DISTRIBUTION: defaults toelCLOUDSMITH_RPM_RELEASE: defaults to9
Manual Reruns
If Cloudsmith publish fails after GitHub release assets exist:
gh workflow run publish-apt.yml -f tag_name=v0.1.0
gh workflow run publish-rpm.yml -f tag_name=v0.1.0
If the Homebrew tap update fails:
gh workflow run homebrew-tap.yml -f tag_name=v0.1.0