LiveOak Bank welcomes your interest in contributing to this project in any way you find meaningful, be it through code contributions, documentation, or bug reporting. We greatly value and appreciate your involvement.
Merge requests should be opened to merge into the main
branch.
- Use
patch
,minor
, ormajor
to indicate the semantic version for a change. If unsure, a project maintainer will set it. - Use
feature
orenhancement
for added features. - Use
fix
,bugfix
orbug
for fixed bugs. - Use
chore
,ci
, anddocs
for maintenance tasks.
This project uses a few tools for validating code quality and functionality:
- pre-commit for ensuring consistency and code quality before committing (external dependency).
- golangci-lint for linting and formatting.
- gofumpt (is included with golangci-lint).
- gocover-cobertura for code test coverage reporting.
- govulncheck for detecting vulnerabilities in Go packages.
Refer to the Makefile
for helpful development tasks.
Sample test data is also available in the tests/testdata
package. This test data is used in the local tests and is intended for use
externally.
Unit tests are maintained alongside the source under readme
and
uses the gock package for mocking
HTTP.
Mocks are generated under tests/mocks
for the interfaces using
mockery via the make mocks
command.
This mocks
package is intended for use in external package tests and provides
a pre-configured mock client and "real" mocked client that can be used.
This project uses the Release Drafter action for managing releases and tags.
The Changelog Updater action updates the
CHANGELOG.md
file when releases are
published.
Project maintainers can publish a new release by editing the queued draft release, making adjustments to the release notes, and publishing.