Skip to content

Go Tool

Go

  • Build: the Go toolchain with modules; make build and make release-build differ only in stripped symbols.
  • Tests: go test; acceptance scenarios run with Godog from test/bdd/features/.
  • Lint: golangci-lint; go-arch-lint enforces the dependency direction app → infra → usecase → domain.
  • Rationale: Go builds static binaries, so one build serves every Linux target and the runtime image needs no libc.

Tool

  • Structure: a thin command-line entry point over the application code.
  • Acceptance tests: scenarios drive the built binary and check exit code, standard output, and standard error.
  • Container image: also published as an image, so the tool runs as a Kubernetes job or from another pipeline without installing its toolchain; the debug image is built on demand only.