Building and testing see history edit this page

Talks about: , and

The controller is a standard Go module. With a Go toolchain installed:

go build ./...
go test -race -cover ./...

Test layers

Static analysis

A pull request must be clean under each of these — run them locally before pushing:

go vet ./...
go run honnef.co/go/tools/cmd/staticcheck@latest ./...
go run github.com/securego/gosec/v2/cmd/gosec@latest ./...
go run golang.org/x/vuln/cmd/govulncheck@latest ./...
go run mvdan.cc/gofumpt@latest -l .          # empty output == formatted
go run github.com/fe3dback/arch-go@latest    # architecture rules (arch-go.yml)

Containerized dev shell

The toolchain — including the pinned setup-envtest assets — is also packaged in a container via ilo, so you can build and test without installing anything on the host:

ilo bash -c 'go test -race -cover ./...'