38 lines
777 B
YAML
38 lines
777 B
YAML
image: golang:latest
|
|
|
|
stages:
|
|
- test
|
|
|
|
validate lint:
|
|
stage: test
|
|
script:
|
|
- go get -u golang.org/x/lint/golint
|
|
- golint -set_exit_status ./...
|
|
|
|
execute tests:
|
|
stage: test
|
|
script:
|
|
- go test ./...
|
|
|
|
race detection:
|
|
stage: test
|
|
script:
|
|
- go test -race ./...
|
|
|
|
code coverage:
|
|
stage: test
|
|
script:
|
|
- go test -covermode=count -coverprofile coverage.cov ./...
|
|
- go tool cover -func=coverage.cov
|
|
- mkdir $CI_PROJECT_DIR/report
|
|
- go tool cover -html=coverage.cov -o $CI_PROJECT_DIR/report/coverage.html
|
|
coverage: '/\(statements\)\W+\d+\.\d+%/'
|
|
artifacts:
|
|
paths:
|
|
- report/
|
|
|
|
codecov.io:
|
|
stage: test
|
|
script:
|
|
- go test -race -coverprofile=coverage.txt -covermode=atomic ./...
|
|
- bash <(curl -s https://codecov.io/bash)
|