diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..b8a1dd0 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,38 @@ +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)