image: golang:alpine variables: GO111MODULE: "on" CGO_ENABLED: "0" COV: "/tmp/cov_results" before_script: - apk add git stages: - test unit_test: stage: test script: - go test -tags unit -v -coverprofile $COV ./... - go tool cover -func $COV | grep -F 'total:' | sed -E 's|total:\s+\(.*?\)\s+([0-9]+\.[0-9]+%)|TEST_COVERAGE=\1|' integration_test: stage: test only: variables: - $BOT_TOKEN script: # go get first, so it doesn't count towards the timeout. - go get ./... # Timeout test after 120 seconds (2 minutes) - timeout 120 go test -tags integration -v ./...