1
0
Fork 0
telegram/.gitlab-ci.yml

51 lines
1.0 KiB
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:
stage: test
before_script:
- wget -O- -nv https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.41.1
script:
- ./bin/golangci-lint run
allow_failure: true