在Travis CI上使用Godeep自动构建提示版Go时出错



我正在使用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请求被合并到godepmaster分支中。因此,这个问题现在基本上已经解决了,为了让Travis CI使用godep restore并针对Gotip版本测试您的项目,您的.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 ./...