feat: initial version
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
variables:
|
||||
GOCACHE: "${CI_PROJECT_DIR}/_go/cache"
|
||||
|
||||
before_script:
|
||||
- mkdir -p ${CI_PROJECT_DIR}/_go/{pkg,bin,cache}
|
||||
- rm -rf /go/pkg || true
|
||||
- mkdir -p /go
|
||||
- ln -s ${CI_PROJECT_DIR}/_go/pkg /go/pkg
|
||||
- ln -s ${CI_PROJECT_DIR}/_go/bin /go/bin
|
||||
|
||||
cache:
|
||||
key: "$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- _go
|
||||
untracked: true
|
||||
|
||||
stages:
|
||||
- deps
|
||||
- test
|
||||
|
||||
deps:
|
||||
stage: deps
|
||||
image: golang:1.13
|
||||
script:
|
||||
- go get -mod=readonly
|
||||
|
||||
test:
|
||||
stage: test
|
||||
dependencies:
|
||||
- deps
|
||||
image: golang:1.13
|
||||
script:
|
||||
- go fmt $(go list ./...)
|
||||
- go vet $(go list ./...)
|
||||
- unset "${!CI@}"
|
||||
- CGO_ENABLED=1 go test -p 1 -mod=readonly -race -coverprofile=.testCoverage.txt -covermode=atomic -coverpkg=$(go list ./... | tr '\n' , | sed 's/,$//') ./...
|
||||
- go tool cover -html=.testCoverage.txt -o coverage.html
|
||||
- go tool cover -func=.testCoverage.txt
|
||||
artifacts:
|
||||
paths:
|
||||
- coverage.html
|
||||
Reference in New Issue
Block a user