forked from Shiloh/githaven
40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
|
# Go
|
||
|
# Build your Go project.
|
||
|
# Add steps that test, save build artifacts, deploy, and more:
|
||
|
# https://docs.microsoft.com/azure/devops/pipelines/languages/go
|
||
|
|
||
|
trigger:
|
||
|
- master
|
||
|
|
||
|
pool:
|
||
|
vmImage: 'Ubuntu-16.04'
|
||
|
|
||
|
variables:
|
||
|
GOBIN: '$(GOPATH)/bin' # Go binaries path
|
||
|
GOROOT: '/usr/local/go1.11' # Go installation path
|
||
|
GOPATH: '$(system.defaultWorkingDirectory)/gopath' # Go workspace path
|
||
|
modulePath: '$(GOPATH)/src/github.com/$(build.repository.name)' # Path to the module's code
|
||
|
|
||
|
steps:
|
||
|
- script: |
|
||
|
mkdir -p '$(GOBIN)'
|
||
|
mkdir -p '$(GOPATH)/pkg'
|
||
|
mkdir -p '$(modulePath)'
|
||
|
shopt -s extglob
|
||
|
shopt -s dotglob
|
||
|
mv !(gopath) '$(modulePath)'
|
||
|
echo '##vso[task.prependpath]$(GOBIN)'
|
||
|
echo '##vso[task.prependpath]$(GOROOT)/bin'
|
||
|
displayName: 'Set up the Go workspace'
|
||
|
|
||
|
- script: |
|
||
|
go version
|
||
|
go get -v -t -d ./...
|
||
|
if [ -f Gopkg.toml ]; then
|
||
|
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
||
|
dep ensure
|
||
|
fi
|
||
|
go build -v .
|
||
|
workingDirectory: '$(modulePath)'
|
||
|
displayName: 'Get dependencies, then build'
|