在Travis CI自动构建Go上使用Godep时出错

时间:2015-12-24 09:31:54

标签: go travis-ci godeps

我使用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。将测试它是否会很快修复。

1 个答案:

答案 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 ./...