Skip to content

Latest commit

 

History

History
26 lines (22 loc) · 1.18 KB

CONTRIBUTING.md

File metadata and controls

26 lines (22 loc) · 1.18 KB

Development

  • For tests, use standard Go tooling: go test ./...
  • For lint, use golangci-lint: golangci-lint run ./...
  • For integration tests, use Docker to provide test environments: docker build -f Dockerfile.test .
  • Hansel uses goreleaser, but this is not required for development.

Releasing

Releases are built and published from GitHub Actions. Release versions follow semver.

To trigger a release:

  1. Determine the appropriate version increment, as a rule of thumb:
    • If removing a CLI argument, increment the major version.
    • If adding a CLI argument, increment the minor version.
    • Else, increment the patch version.
  2. Check the release history and increment to determine the next version. e.g. a patch increment to v1.2.2 would be v1.2.3.
  3. Create a tag with the next version, push the tag:
git checkout main
git pull origin main
git log -1 # double-check the expected commit
git tag -a v1.2.3 -m "v1.2.3 release"
git push --tags
  1. Monitor the release process from GitHub Actions.