49 lines
957 B
YAML
49 lines
957 B
YAML
---
|
|
image: golang:alpine
|
|
|
|
variables:
|
|
REPO_NAME: gitlab.com/$CI_PROJECT_PATH
|
|
CGO_ENABLED: "0"
|
|
|
|
cache:
|
|
key: ${CI_COMMIT_REF_SLUG}
|
|
paths:
|
|
- /go/pkg/mod
|
|
- /var/cache/apk
|
|
|
|
before_script:
|
|
- mkdir -p $GOPATH/src/$(dirname $REPO_NAME)
|
|
- ln -svf $CI_PROJECT_DIR $GOPATH/src/$REPO_NAME
|
|
- cd $GOPATH/src/$REPO_NAME
|
|
|
|
stages:
|
|
- test
|
|
|
|
test:
|
|
stage: test
|
|
before_script:
|
|
- go get gotest.tools/gotestsum
|
|
script:
|
|
- gotestsum --junitfile report.xml --format testname
|
|
artifacts:
|
|
when: always
|
|
reports:
|
|
junit: report.xml
|
|
|
|
cover:
|
|
stage: test
|
|
before_script:
|
|
- go get github.com/t-yuki/gocover-cobertura
|
|
script:
|
|
- go test -coverprofile=coverage.txt -covermode count $REPO_NAME/...
|
|
- gocover-cobertura < coverage.txt > coverage.xml
|
|
artifacts:
|
|
reports:
|
|
cobertura: coverage.xml
|
|
|
|
lint:
|
|
image: golangci/golangci-lint
|
|
stage: test
|
|
script:
|
|
- golangci-lint run $REPO_NAME/...
|
|
allow_failure: true
|