Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.18 KiB
Newer Older
Erick Hitter's avatar
Erick Hitter committed
# This file is a template, and might need editing before it works on your project.
image: golang:latest

variables:
  REPO_NAME: git.ethitter.com/debian/eth-log-alerting

Erick Hitter's avatar
Erick Hitter committed
# The problem is that to be able to use go get, one needs to put
# the repository in the $GOPATH. So for example if your gitlab domain
# is gitlab.com, and that your repository is namespace/project, and
Erick Hitter's avatar
Erick Hitter committed
# the default GOPATH being /go, then you'd need to have your
# repository in /go/src/gitlab.com/namespace/project
Erick Hitter's avatar
Erick Hitter committed
# Thus, making a symbolic link corrects this.
  - mkdir -p $GOPATH/src/$(dirname $REPO_NAME)
  - ln -svf $CI_PROJECT_DIR $GOPATH/src/$REPO_NAME
  - cd $GOPATH/src/$REPO_NAME

  - go version

  - go get github.com/asaskevich/govalidator
  - go get github.com/ashwanthkumar/slack-go-webhook
  - go get github.com/hpcloud/tail
Erick Hitter's avatar
Erick Hitter committed

stages:
  - test
  - build
Erick Hitter's avatar
Erick Hitter committed

format:
  stage: test
  script:
    - go tool vet -composites=false -shadow=true *.go
    - go test -race $(go list ./... | grep -v /vendor/)
Erick Hitter's avatar
Erick Hitter committed

compile:
  stage: build
  script:
    - go get github.com/mitchellh/gox
    - gox -output="eth-log-alerting-builds/{{.Dir}}_{{.OS}}_{{.Arch}}" -parallel=4
  artifacts:
    paths:
      - eth-log-alerting-builds/