# Name

golang

# Category

Test (Compile)

# Description

NOTE: Go support is experimental.

Provides support for Go v1.12 and higher. This support includes the ability to read compiler errors as well as supplemental routines for other precommit tests that support Go directly such as revive.

Amongst other missing features, it does not support using Go as a build tool or `go test` formatted output. Additionally, if Go source is detected, `precommit` will use `git checkout` in addition to `git clean` to maintain the source tree as part of the compile cycle.

# Environment Variables

None

# Options

Option | Notes
--- | ---
`--golang-go=<cmd>` | Location of the `go` binary if it is not on the path

# Docker Notes

The following standard Go compiler variables are passed onto the container environment:

- CGO_LDFLAGS
- CGO_ENABLED
- GO111MODULE
- GOPATH

# Developer Notes

None