--- stages: - test - validate - integration-test test: image: golang:alpine stage: test script: - apk add build-base - apk add git - go get ./... && go test -v ./... tags: - linux validate: image: golang:alpine stage: test script: | apk add build-base git go version go env go install honnef.co/go/tools/cmd/staticcheck@latest go install github.com/securego/gosec/v2/cmd/gosec@latest export PATH=$(go env GOPATH)/bin:$PATH go vet ./... gofmt -s -l . && [ -z "$(gofmt -s -l .)" ] # See: https://staticcheck.io/docs/checks staticcheck -checks inherit,ST1016,ST1020,ST1021,ST1022,ST1023 ./... # gosec does not handle modules correctly. # See: https://github.com/securego/gosec/issues/622 gosec ./... make check-yawning-obfs4 go mod tidy git diff --exit-code -- go.mod go.sum integration-test: image: debian stage: test script: - apt update -y && apt install docker docker.io - make integration tags: - linux