distributable: url: https://github.com/golang/vuln/archive/refs/tags/v{{version}}.tar.gz strip-components: 1 versions: github: golang/vuln/tags provides: - bin/govulncheck build: dependencies: go.dev: ^1.19 script: | go mod download mkdir -p "{{ prefix }}"/bin go build -v -trimpath -ldflags="$LDFLAGS" -o $BUILDLOC ./cmd/govulncheck env: GOPROXY: https://proxy.golang.org,direct GOSUMDB: sum.golang.org GO111MODULE: on CGO_ENABLED: 0 BUILDLOC: '{{prefix}}/bin/govulncheck' LDFLAGS: - -s - -w linux: # or segmentation fault # fix found here https://github.com/docker-library/golang/issues/402#issuecomment-982204575 LDFLAGS: - -buildmode=pie test: fixture: | package main import ( "fmt" "os" "golang.org/x/text/language" ) func main() { for _, arg := range os.Args[1:] { tag, err := language.Parse(arg) if err != nil { fmt.Printf("%s: error: %v\n", arg, err) } else if tag == language.Und { fmt.Printf("%s: undefined\n", arg) } else { fmt.Printf("%s: tag %s\n", arg, tag) } } } dependencies: go.dev: ^1.19 script: - go mod init vuln.tutorial - cp $FIXTURE main.go - go mod tidy - go get golang.org/x/text@v0.3.5 - (govulncheck ./... 2>&1 || true) | grep GO-2021-0113