我正在使用Travis CI来自动化Go项目的构建和测试。
./Godeps/Godeps.json
看起来像这样:
{
"ImportPath": "github.com/my_project_path",
"GoVersion": "go1.5",
"Packages": [
"./..."
],
"Deps": [
{
"ImportPath": "github.com/Sirupsen/logrus",
"Comment": "v0.8.7-53-g446d1c1",
"Rev": "446d1c146faa8ed3f4218f056fcd165f6bcfda81"
}
]
}
.travis.yml
文件如下所示:
language: go
go:
- 1.3.3
- 1.4.2
- 1.5.1
- release
- tip
before_install:
- go get github.com/my_project_path
- go get github.com/tools/godep
install:
- godep restore
script:
- go test -v ./...
由于go version
,除tip
之外的所有其他构建都可以工作。
tip
Travis CI日志的最后几行是:
$ go version
go version devel +e4dcf5c Thu Dec 24 06:55:33 2015 +0000 linux/amd64
go.env
$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/travis/gopath"
GORACE=""
GOROOT="/home/travis/.gimme/versions/go"
GOTOOLDIR="/home/travis/.gimme/versions/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
before_install.1
3.52s$ go get github.com/my_project_path
before_install.2
3.34s$ go get github.com/tools/godep
0.02s$ godep restore
godep: Error determing major go version from: "devel"
The command "godep restore" failed and exited with 1 during .
Your build has been stopped.
我该怎么解决这个问题?我只是被go get ./...
卡住了吗?
编辑:似乎有人发出了修复请求。
第2版:似乎拉取请求已合并。将测试是否尽快修复。
所以我在2015年12月24日问了这个问题。
2015年12月29日,github用户zchee打开了一个pull请求,修复了我的问题中提到的问题。
2016年1月4日,pull请求被合并到godep
的master
分支中。因此,这个问题现在基本上已经解决了,为了让Travis CI
使用godep restore
并针对Go
的tip
版本测试您的项目,您的.travis.yml
文件应该与问题中的文件类似,即:
language: go
go:
- 1.3.3
- 1.4.2
- 1.5.1
- release
- tip
before_install:
- go get github.com/my_project_path
- go get github.com/tools/godep
install:
- godep restore
script:
- go test -v ./...