image: golang:latest # 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 mydomainperso.com, and that your repository is repos/projectname, and # the default GOPATH being /go, then you'd need to have your # repository in /go/src/mydomainperso.com/repos/projectname # Thus, making a symbolic link corrects this. before_script: - ln -s /builds /go/src/mydomainperso.com - cd /go/src/mydomainperso.com/repos/projectname stages: - test - build format: stage: test script: # Add here all the dependencies, or use glide/govendor to get # them automatically. # - curl https://glide.sh/get | sh - go get github.com/alecthomas/kingpin - go tool vet -composites=false -shadow=true *.go - go test -race $(go list ./... | grep -v /vendor/) compile: stage: build script: # Add here all the dependencies, or use glide/govendor/... # to get them automatically. - go get github.com/alecthomas/kingpin # Better put this in a Makefile - go build -race -ldflags "-extldflags '-static'" -o mybinary artifacts: paths: - mybinary