Forked from mikeatlas/.golang-example-gitlab-ci.yml
Created
September 25, 2018 14:55
-
-
Save Hecatoncheir/e5de1da5158f675f3455d2b6cb0a289e to your computer and use it in GitHub Desktop.
Example Go GitLab CI setup (no root/sudo required)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# See docs/examples | |
# http://doc.gitlab.com/ce/ci/quick_start/README.html | |
# http://doc.gitlab.com/ce/ci/yaml/README.html | |
# GitLab CI template for Go tests. Note this installs | |
# a new working copy of Go in a non-standard path such | |
# that sudo/root is not needed for the install stage. | |
# note that this particular install-environment stage | |
# is overly verbose in order to debug anything tricky | |
# or weird in your environment - feel free to trim it | |
# down as needed | |
stages: | |
- install-environment | |
- build | |
- test | |
install-go: | |
stage: install-environment | |
script: | |
- export CURRENT_BUILD_PATH=$(pwd) | |
- echo $PATH | |
- rm -rf $HOME/golang | |
- rm -rf $HOME/gopath | |
- mkdir -p $HOME/golang # for GOROOT (contains the Go binary & core packages) | |
- mkdir -p $HOME/gopath # for GOPATH (contains code and external packages) | |
- curl http://storage.googleapis.com/golang/go1.5.2.linux-amd64.tar.gz 2>/dev/null > go1.5.2.linux-amd64.tar.gz | |
- tar -C $HOME/golang -xzf go1.5.2.linux-amd64.tar.gz | |
- export GOROOT=$HOME/golang/go | |
- export GOPATH=$HOME/gopath | |
- export PATH=$PATH:$GOROOT/bin | |
- export PATH=$PATH:$GOPATH/bin | |
- (if [[ "$(go version)" == *"go version go1.5"* ]]; then echo "✓ Go binary installed!"; else echo "Go binary not installed"; exit -1; fi); | |
- go version | |
- echo $PATH | |
- go env | |
- which go | |
build-my-project: | |
stage: build | |
script: | |
- cd $CURRENT_BUILD_PATH | |
- go build | |
test-my-project: | |
stage: test | |
script: | |
- cd $CURRENT_BUILD_PATH | |
- go test |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment