Skip to content
Snippets Groups Projects

Better CI

Merged Erick Hitter requested to merge fix/7-improve-ci into master
1 file
+ 1
1
Compare changes
  • Side-by-side
  • Inline
+ 48
23
# This file is a template, and might need editing before it works on your project.
image: containers.ethitter.com:443/docker/images/golang:latest
image: golang:latest
variables:
variables:
REPO_NAME: git.ethitter.com/debian/eth-log-alerting
REPO_NAME: git.ethitter.com/debian/eth-log-alerting
# The problem is that to be able to use go get, one needs to put
cache:
# the repository in the $GOPATH. So for example if your gitlab domain
paths:
# is gitlab.com, and that your repository is namespace/project, and
- /apt-cache
# the default GOPATH being /go, then you'd need to have your
- $GOPATH/src/github.com
# repository in /go/src/gitlab.com/namespace/project
- $GOPATH/src/golang.org
# Thus, making a symbolic link corrects this.
- $GOPATH/src/google.golang.org
 
- $GOPATH/src/gopkg.in
 
 
stages:
 
- test
 
- build
 
before_script:
before_script:
- mkdir -p $GOPATH/src/$(dirname $REPO_NAME)
- mkdir -p $GOPATH/src/$(dirname $REPO_NAME)
- ln -svf $CI_PROJECT_DIR $GOPATH/src/$REPO_NAME
- cp -R $CI_PROJECT_DIR $GOPATH/src/$REPO_NAME
- cd $GOPATH/src/$REPO_NAME
- cd $GOPATH/src/$REPO_NAME
 
- cp config-sample.json config.json
- go version
- export CC=clang-5.0
- go get github.com/asaskevich/govalidator
- make dep
- go get github.com/ashwanthkumar/slack-go-webhook
- go get github.com/hpcloud/tail
stages:
unit_tests:
- test
stage: test
- build
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
format:
lint_code:
stage: test
stage: test
script:
script:
- go tool vet -composites=false -shadow=true *.go
- make lint
- go test -race $(go list ./... | grep -v /vendor/)
compile:
build:
stage: build
stage: build
script:
script:
- go get github.com/mitchellh/gox
- make
- gox -output="eth-log-alerting-builds/{{.Dir}}_{{.OS}}_{{.Arch}}" -parallel=4
artifacts:
artifacts:
paths:
paths:
- eth-log-alerting-builds/
- eth-log-alerting-builds/
 
\ No newline at end of file
Loading