Skip to content
Snippets Groups Projects
Commit 5efaffcb authored by Erick Hitter's avatar Erick Hitter
Browse files

Merge branch 'add/common-ci' into 'master'

Switch to shared CI configuration

See merge request !5
parents 4559c5a9 fb929c22
Branches master
No related tags found
1 merge request!5Switch to shared CI configuration
Pipeline #7823 failed
image: containers.ethitter.com:443/docker/images/golang:latest
variables:
REPO_NAME: git.ethitter.com/open-source/dyndnsd-client
cache:
paths:
- /apt-cache
- $GOPATH/src/github.com
- $GOPATH/src/golang.org
- $GOPATH/src/google.golang.org
- $GOPATH/src/gopkg.in
stages:
- test
- build
before_script:
- mkdir -p $GOPATH/src/$(dirname $REPO_NAME)
- cp -R $CI_PROJECT_DIR $GOPATH/src/$REPO_NAME
- cd $GOPATH/src/$REPO_NAME
- cp config-sample.json config.json
- export CC=clang
- make dep
unit_tests:
stage: test
script:
- make test
race_detector:
stage: test
script:
- make race
memory_sanitizer:
stage: test
script:
- make msan
code_coverage:
stage: test
script:
- make coverage
code_coverage_report:
stage: test
script:
- make coverhtml
only:
- master
lint_code:
stage: test
script:
- make lint
build:
stage: build
script:
- make
artifacts:
paths:
- dyndnsd-client/
include:
- remote: https://git-cdn.e15r.co/gitlab/ci/golang/-/raw/main/files/default.yml
PROJECT_NAME := "dyndnsd-client"
PKG := "git.ethitter.com/open-source/$(PROJECT_NAME)"
PKG_LIST := $(shell go list ${PKG}/... | grep -v /vendor/)
GO_FILES := $(shell find . -name '*.go' | grep -v /vendor/ | grep -v _test.go)
.PHONY: all dep build clean test coverage coverhtml lint
all: build
lint:
@golint -set_exit_status ${PKG_LIST}
test:
@go test -v ${PKG_LIST}
race: dep
@go test -v -race ${PKG_LIST}
msan: dep
@go test -v -msan ${PKG_LIST}
coverage:
./tools/coverage.sh;
coverhtml:
./tools/coverage.sh html;
dep:
@go get -v ./...
@go install github.com/mitchellh/gox@latest
build: dep
@gox -output="${CI_PROJECT_DIR}/${PROJECT_NAME}/{{.Dir}}_{{.OS}}_{{.Arch}}" -parallel=6 -osarch '!darwin/386'
clean:
@rm -f $(PROJECT_NAME)
help:
@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment