First of all, thank you for your interest in contributing to this project.
Before creating a pull request, please read and follow this contributing guide. Before participating in this project's activities, please read and follow code of conduct.
Please create an issue before submitting a pull request. If it is a proposal for a new feature or changing existing functionality, initiate a discussion with maintainers first. If it's a fix for know bugs, a discussion is not required.
- Install Go.
- The project uses Makefile. Install
make
command. - Fork this repository.
- Clone the forked repository.
- Make changes (see Formatting) and commit to your fork. Commit messages should follow the Conventional Commits style.
- Add appropriate unit tests (see Testing) for your changes.
- Update documentation if appropriate.
- Create a pull request with your changes.
- Github action will run the necessary checks against your pull request.
- A maintainer will review the pull request once all checks are
- A maintainer will merge and create a release (see Releasing).
All changes must be unit tested and meet the project test coverage threshold (73%) requirement.
Run make test
to run all tests and generate coverage reports before submitting a pull request.
To write the bats
tests for plugin,
- Modify the tests
- Run
docker-compose build plugin_test && docker-compose run --rm plugin_test
All code must be formatted with gofmt
(with the latest Go version) and pass go vet
. The plugin must be linted with buildkite-plugin-linter. Run make quality
to run all formatting checks.
One of the maintainers will create a release after merging the pull request.
- Ensure documentation is updated appropriately.
- Update README.md to the next version number.
- Update changelog using guidelines from Keep a Changelog.
- Merge changes to master.
- Create a new release. The version number must follow the format of
v<major>.<minor>.<patch>
. Eg.v2.0.1
- Github actions automatically builds and attachs the binary to the release.