This document describes how to contribute to this project. Proposals for changes to this document are welcome.
Contributors to this project are expected to adhere to the Code of Conduct. Any unacceptable conduct should be reported to opensource@newcontext.com.
Questions about the project may be posed on the GitHub issue tracker.
Familiarity with the following technologies is important in understanding the design and behaviour of this project.
Bugs must be reported on the GitHub issue tracker. Any information that will assist in the maintainers reproducing the bug should be included.
Changes should be suggested on the GitHub issue tracker. Submitting a pull request with an implementation of the changes is also encouraged but not required.
The development workflow for this project follows standard GitHub workflow.
Golang testing package is used as the unit testing framework.
The following command will execute the unit tests.
Executing unit tests with Go's testing package
go test -v ./...
The json files under testdata contain supporting json files for testing.
GitHub Actions are used to provide continuous integration and continuous deployment functionality for this app.
The workflows are configured at .github/workflows/
Linting, static analysis via Staticcheck, and unit tests will be executed for each commit to a branch as well as all pull requests.
If a commit to the master branch has a tag starting with a v, then the job will attempt to build the app and deploy it as a release.