Merge pull request #571 from restic/raise-go-version
Require Go 1.6 or greater
This commit is contained in:
commit
b5c397435c
6 changed files with 14 additions and 17 deletions
12
.travis.yml
12
.travis.yml
|
@ -2,10 +2,8 @@ language: go
|
||||||
sudo: false
|
sudo: false
|
||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.3.3
|
- 1.6.3
|
||||||
- 1.4.3
|
- 1.7
|
||||||
- 1.5.4
|
|
||||||
- 1.6.2
|
|
||||||
|
|
||||||
os:
|
os:
|
||||||
- linux
|
- linux
|
||||||
|
@ -14,11 +12,7 @@ os:
|
||||||
matrix:
|
matrix:
|
||||||
exclude:
|
exclude:
|
||||||
- os: osx
|
- os: osx
|
||||||
go: 1.3.3
|
go: 1.6.3
|
||||||
- os: osx
|
|
||||||
go: 1.4.3
|
|
||||||
- os: osx
|
|
||||||
go: 1.5.4
|
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
irc:
|
irc:
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
FROM ubuntu:14.04
|
FROM ubuntu:14.04
|
||||||
|
|
||||||
ARG GOVERSION=1.6
|
ARG GOVERSION=1.7
|
||||||
ARG GOARCH=amd64
|
ARG GOARCH=amd64
|
||||||
|
|
||||||
# install dependencies
|
# install dependencies
|
||||||
|
|
|
@ -22,7 +22,7 @@ latest released version.
|
||||||
Build restic
|
Build restic
|
||||||
============
|
============
|
||||||
|
|
||||||
Install Go/Golang (at least version 1.3), then run `go run build.go`,
|
Install Go/Golang (at least version 1.6), then run `go run build.go`,
|
||||||
afterwards you'll find the binary in the current directory:
|
afterwards you'll find the binary in the current directory:
|
||||||
|
|
||||||
$ go run build.go
|
$ go run build.go
|
||||||
|
|
|
@ -13,8 +13,8 @@ init:
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- rmdir c:\go /s /q
|
- rmdir c:\go /s /q
|
||||||
- appveyor DownloadFile https://storage.googleapis.com/golang/go1.6.1.windows-amd64.msi
|
- appveyor DownloadFile https://storage.googleapis.com/golang/go1.7.windows-amd64.msi
|
||||||
- msiexec /i go1.6.1.windows-amd64.msi /q
|
- msiexec /i go1.7.windows-amd64.msi /q
|
||||||
- go version
|
- go version
|
||||||
- go env
|
- go env
|
||||||
- appveyor DownloadFile http://sourceforge.netcologne.de/project/gnuwin32/tar/1.13-1/tar-1.13-1-bin.zip -FileName tar.zip
|
- appveyor DownloadFile http://sourceforge.netcologne.de/project/gnuwin32/tar/1.13-1/tar-1.13-1-bin.zip -FileName tar.zip
|
||||||
|
|
4
build.go
4
build.go
|
@ -278,6 +278,10 @@ func (cs Constants) LDFlags() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
if runtime.Version() < "go1.6" {
|
||||||
|
fmt.Fprintf(os.Stderr, "old version of Go detected (%v), I'll try but no guarantees\n", runtime.Version())
|
||||||
|
}
|
||||||
|
|
||||||
buildTags := []string{}
|
buildTags := []string{}
|
||||||
|
|
||||||
skipNext := false
|
skipNext := false
|
||||||
|
|
|
@ -168,7 +168,7 @@ func (env *TravisEnvironment) Prepare() error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if *runCrossCompile {
|
if *runCrossCompile && !(runtime.Version() < "go1.7") {
|
||||||
// only test cross compilation on linux with Travis
|
// only test cross compilation on linux with Travis
|
||||||
if err := run("go", "get", "github.com/mitchellh/gox"); err != nil {
|
if err := run("go", "get", "github.com/mitchellh/gox"); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -191,8 +191,7 @@ func (env *TravisEnvironment) Prepare() error {
|
||||||
|
|
||||||
msg("gox: OS/ARCH %v\n", env.goxOSArch)
|
msg("gox: OS/ARCH %v\n", env.goxOSArch)
|
||||||
|
|
||||||
v := runtime.Version()
|
if runtime.Version() < "go1.5" {
|
||||||
if !strings.HasPrefix(v, "go1.5") && !strings.HasPrefix(v, "go1.6") {
|
|
||||||
err := run("gox", "-build-toolchain",
|
err := run("gox", "-build-toolchain",
|
||||||
"-osarch", strings.Join(env.goxOSArch, " "))
|
"-osarch", strings.Join(env.goxOSArch, " "))
|
||||||
|
|
||||||
|
@ -318,7 +317,7 @@ func (env *TravisEnvironment) RunTests() error {
|
||||||
|
|
||||||
env.env["GOPATH"] = cwd + ":" + filepath.Join(cwd, "vendor")
|
env.env["GOPATH"] = cwd + ":" + filepath.Join(cwd, "vendor")
|
||||||
|
|
||||||
if *runCrossCompile {
|
if *runCrossCompile && !(runtime.Version() < "go1.7") {
|
||||||
// compile for all target architectures with tags
|
// compile for all target architectures with tags
|
||||||
for _, tags := range []string{"release", "debug"} {
|
for _, tags := range []string{"release", "debug"} {
|
||||||
runWithEnv(env.env, "gox", "-verbose",
|
runWithEnv(env.env, "gox", "-verbose",
|
||||||
|
|
Loading…
Reference in a new issue