enable go module support in pipeline
- enable Go module support - add compile flags to ditch C compiler - enable caching per git branch Signed-off-by: Daniel Andrei Minca <mandrei17@gmail.com>
This commit is contained in:
parent
1c139a947b
commit
b81ea1fe29
|
@ -1,17 +1,25 @@
|
|||
image: golang:alpine
|
||||
|
||||
variables:
|
||||
GO111MOD: "on"
|
||||
CGO_ENABLED: "0"
|
||||
GOOS: "linux"
|
||||
|
||||
cache:
|
||||
key: ${CI_COMMIT_REF_SLUG}
|
||||
paths:
|
||||
- /var/cache/apk
|
||||
- /go/pkg/mod
|
||||
|
||||
stages:
|
||||
- test
|
||||
- review
|
||||
|
||||
before_script:
|
||||
- apk add --no-cache git build-base bash make
|
||||
- mkdir -p /go/src/gitlab.com/$CI_PROJECT_NAMESPACE /go/src/_/builds
|
||||
- cp -r $CI_PROJECT_DIR /go/src/gitlab.com/$CI_PROJECT_PATH
|
||||
- ln -s /go/src/gitlab.com/$CI_PROJECT_NAMESPACE /go/src/_/builds/$CI_PROJECT_NAMESPACE
|
||||
- apk add --no-cache git make
|
||||
- go get github.com/golangci/golangci-lint/cmd/golangci-lint
|
||||
- go install github.com/golangci/golangci-lint/cmd/golangci-lint
|
||||
- make dep
|
||||
- make tidy
|
||||
|
||||
unit_tests:
|
||||
stage: test
|
||||
|
|
10
Makefile
10
Makefile
|
@ -6,9 +6,9 @@ PACKAGE_PATH := "$(GOPATH)/src/$(PACKAGE_NAME)"
|
|||
PACKAGE_LIST := $(shell go list $(PACKAGE_NAME)/... | grep -v /vendor/)
|
||||
GO_FILES := $(shell find . -name '*.go' | grep -v /vendor/ | grep -v _test.go)
|
||||
|
||||
.PHONY: all lint test rase coverage dep
|
||||
.PHONY: all lint test rase coverage tidy
|
||||
|
||||
all: dep test race lint
|
||||
all: tidy test race lint
|
||||
|
||||
lint: ## Lint the files
|
||||
@golangci-lint run ./...
|
||||
|
@ -16,14 +16,14 @@ lint: ## Lint the files
|
|||
test: ## Run unittests
|
||||
@go test -short $(PACKAGE_NAME)/...
|
||||
|
||||
race: dep ## Run data race detector
|
||||
race: tidy ## Run data race detector
|
||||
@go test -race -short ${PACKAGE_LIST}
|
||||
|
||||
coverage: ## Generate global code coverage report
|
||||
@go test -cover -v -coverpkg=$(PACKAGE_NAME)/... ${PACKAGE_LIST}
|
||||
|
||||
dep: ## Get the dependencies
|
||||
@go get -v -d -t $(PACKAGE_NAME)/...
|
||||
tidy: ## Get the dependencies
|
||||
@go mod tidy
|
||||
|
||||
help: ## Display this help screen
|
||||
@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
||||
|
|
Loading…
Reference in New Issue