# 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

# 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
# the default GOPATH being /go, then you'd need to have your
# repository in /go/src/gitlab.com/namespace/project
# Thus, making a symbolic link corrects this.
before_script:
  - 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

stages:
  - test
  - build

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

compile:
  stage: build
  script:
    - go build -race -ldflags "-extldflags '-static'" -o eth-log-alerting
  artifacts:
    paths:
      - eth-log-alerting
