我使用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 ./...
由于tip
,所有其他版本的工作除go version
外都有效。
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 ./...
?
编辑:似乎有人做了pull request来解决这个问题。
EDIT2:似乎是拉取请求was merged。将测试它是否会很快修复。
答案 0 :(得分:1)
所以我在2015年12月24日问了这个问题。
2015年12月29日,github用户 zchee 打开pull request,解决了我的问题中提到的问题。
2016年1月4日,拉取请求已合并到master
的{{1}}分支中。所以基本上问题现在已经解决,为了让godep
使用Travis CI
并针对godep restore
tip
版本Go
测试您的项目,您的.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 ./...