Repo to practice CI/CD setup for go
Nice setup for any go repo. Goal is to minimize the number of repetative work done during development.
Done with an action to setup go, build test and upload benchmarks.
Converts go test coverage into lcov
format and displays it via github-pages.
https://iamnotaturtle.github.io/go-ci/dev/bench/
Handled by golangci-lint which has multiple linters and uses govet
.
Handled by a stricter formatter gofumpt which formats code on pull requests.
Releases work in two ways: by auto releasing the latest build and by creating a release if a tag is made.
Deployment is done via a Heroku. Review apps are deployed for a PR when status checks are passed. A staging app is deployed automatically on each merge to master.
- error tracking (ex: sentry)
- logs
- security scanning (could be handled by dependabot)