K8s athenz SIA uses GitHub to manage reviews of pull requests.
- The versioning scheme we use is SemVer.
- Relevant coding style guidelines are the Go Code Review Comments and the Formatting and style section of Peter Bourgon's Go: Best Practices for Production Environments.
Should you wish to work on an issue, please claim it first by commenting on the GitHub issue that you want to work on it. This is to prevent duplicated efforts from contributors on the same issue.
For quickly compiling and testing your changes, do:
# for building
go build
./k8s-athenz-sia
# for testing (Make sure all the tests pass before you commit and push :))
make test
- Branch from the master branch and, if needed, rebase to the current master branch before submitting your pull request. If it doesn't merge cleanly with master you may be asked to rebase your changes.
- Branches should have descriptive names and start with prefixes like
patch/
,fix/
,feature/
. Good examples are:fix/vulnerability-issue
orfeature/issue-templates
.
- Branches should have descriptive names and start with prefixes like
- If your patch is not getting reviewed or you need a specific person to review it, you can @-reply a reviewer asking for a review in the pull request or a comment.
- Add tests relevant to the fixed bug or new feature.
- Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
- Please use
Squash and merge
to merge a PR. - Create a git tag to make a release. Docker image with the
latest
tag will also be updated.
The K8s athenz SIA project uses Go modules to manage dependencies on external packages. This requires a working Go environment with the same or later version specified in go.mod.
To add or update a new dependency, use the go get
command:
# Pick the latest tagged release.
go get example.com/some/module/pkg
# Pick a specific version.
go get example.com/some/module/[email protected]
Tidy up the go.mod
and go.sum
files:
# The GO111MODULE variable can be omitted when the code isn't located in GOPATH.
GO111MODULE=on go mod tidy
You have to commit the changes to go.mod
and go.sum
before submitting the pull request.