From 67c332e9b5c1afff65108abcc2b6883ace72abb9 Mon Sep 17 00:00:00 2001 From: Samuel Marks Date: Mon, 27 Aug 2018 22:06:29 +1000 Subject: [PATCH 1/2] travis, Dockerfile, appveyor, build: bump to Go 1.11 --- .travis.yml | 29 ++++++++++++++++++++--------- Dockerfile | 2 +- Dockerfile.alltools | 2 +- appveyor.yml | 4 ++-- build/deb/ethereum-swarm/deb.rules | 2 +- build/deb/ethereum/deb.rules | 2 +- internal/build/util.go | 4 ++-- 7 files changed, 28 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3ae88aab6..372f7a827 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,11 +14,22 @@ matrix: - go run build/ci.go install - go run build/ci.go test -coverage $TEST_PACKAGES - # These are the latest Go versions. - os: linux dist: trusty sudo: required go: 1.10.x + script: + - sudo modprobe fuse + - sudo chmod 666 /dev/fuse + - sudo chown root:$USER /etc/fuse.conf + - go run build/ci.go install + - go run build/ci.go test -coverage $TEST_PACKAGES + + # These are the latest Go versions. + - os: linux + dist: trusty + sudo: required + go: 1.11.x script: - sudo modprobe fuse - sudo chmod 666 /dev/fuse @@ -27,7 +38,7 @@ matrix: - go run build/ci.go test -coverage $TEST_PACKAGES - os: osx - go: 1.10.x + go: 1.11.x script: - unset -f cd # workaround for https://github.com/travis-ci/travis-ci/issues/8703 - go run build/ci.go install @@ -36,7 +47,7 @@ matrix: # This builder only tests code linters on latest version of Go - os: linux dist: trusty - go: 1.10.x + go: 1.11.x env: - lint git: @@ -47,7 +58,7 @@ matrix: # This builder does the Ubuntu PPA upload - os: linux dist: trusty - go: 1.10.x + go: 1.11.x env: - ubuntu-ppa git: @@ -66,7 +77,7 @@ matrix: - os: linux dist: trusty sudo: required - go: 1.10.x + go: 1.11.x env: - azure-linux git: @@ -100,7 +111,7 @@ matrix: dist: trusty services: - docker - go: 1.10.x + go: 1.11.x env: - azure-linux-mips git: @@ -144,7 +155,7 @@ matrix: git: submodules: false # avoid cloning ethereum/tests before_install: - - curl https://storage.googleapis.com/golang/go1.10.3.linux-amd64.tar.gz | tar -xz + - curl https://storage.googleapis.com/golang/go1.11.linux-amd64.tar.gz | tar -xz - export PATH=`pwd`/go/bin:$PATH - export GOROOT=`pwd`/go - export GOPATH=$HOME/go @@ -161,7 +172,7 @@ matrix: # This builder does the OSX Azure, iOS CocoaPods and iOS Azure uploads - os: osx - go: 1.10.x + go: 1.11.x env: - azure-osx - azure-ios @@ -190,7 +201,7 @@ matrix: # This builder does the Azure archive purges to avoid accumulating junk - os: linux dist: trusty - go: 1.10.x + go: 1.11.x env: - azure-purge git: diff --git a/Dockerfile b/Dockerfile index edf5a0602..e87dd35d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build Geth in a stock Go builder container -FROM golang:1.10-alpine as builder +FROM golang:1.11-alpine as builder RUN apk add --no-cache make gcc musl-dev linux-headers diff --git a/Dockerfile.alltools b/Dockerfile.alltools index e54e107bf..e984a1b09 100644 --- a/Dockerfile.alltools +++ b/Dockerfile.alltools @@ -1,5 +1,5 @@ # Build Geth in a stock Go builder container -FROM golang:1.10-alpine as builder +FROM golang:1.11-alpine as builder RUN apk add --no-cache make gcc musl-dev linux-headers diff --git a/appveyor.yml b/appveyor.yml index 05ff92cf3..b056cb3fd 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -23,8 +23,8 @@ environment: install: - git submodule update --init - rmdir C:\go /s /q - - appveyor DownloadFile https://storage.googleapis.com/golang/go1.10.3.windows-%GETH_ARCH%.zip - - 7z x go1.10.3.windows-%GETH_ARCH%.zip -y -oC:\ > NUL + - appveyor DownloadFile https://storage.googleapis.com/golang/go1.11.windows-%GETH_ARCH%.zip + - 7z x go1.11.windows-%GETH_ARCH%.zip -y -oC:\ > NUL - go version - gcc --version diff --git a/build/deb/ethereum-swarm/deb.rules b/build/deb/ethereum-swarm/deb.rules index 7f286569e..98e2ab030 100644 --- a/build/deb/ethereum-swarm/deb.rules +++ b/build/deb/ethereum-swarm/deb.rules @@ -5,7 +5,7 @@ #export DH_VERBOSE=1 override_dh_auto_build: - build/env.sh /usr/lib/go-1.10/bin/go run build/ci.go install -git-commit={{.Env.Commit}} -git-branch={{.Env.Branch}} -git-tag={{.Env.Tag}} -buildnum={{.Env.Buildnum}} -pull-request={{.Env.IsPullRequest}} + build/env.sh /usr/lib/go-1.11/bin/go run build/ci.go install -git-commit={{.Env.Commit}} -git-branch={{.Env.Branch}} -git-tag={{.Env.Tag}} -buildnum={{.Env.Buildnum}} -pull-request={{.Env.IsPullRequest}} override_dh_auto_test: diff --git a/build/deb/ethereum/deb.rules b/build/deb/ethereum/deb.rules index 7f286569e..98e2ab030 100644 --- a/build/deb/ethereum/deb.rules +++ b/build/deb/ethereum/deb.rules @@ -5,7 +5,7 @@ #export DH_VERBOSE=1 override_dh_auto_build: - build/env.sh /usr/lib/go-1.10/bin/go run build/ci.go install -git-commit={{.Env.Commit}} -git-branch={{.Env.Branch}} -git-tag={{.Env.Tag}} -buildnum={{.Env.Buildnum}} -pull-request={{.Env.IsPullRequest}} + build/env.sh /usr/lib/go-1.11/bin/go run build/ci.go install -git-commit={{.Env.Commit}} -git-branch={{.Env.Branch}} -git-tag={{.Env.Tag}} -buildnum={{.Env.Buildnum}} -pull-request={{.Env.IsPullRequest}} override_dh_auto_test: diff --git a/internal/build/util.go b/internal/build/util.go index f99ee8396..195bdb404 100644 --- a/internal/build/util.go +++ b/internal/build/util.go @@ -143,9 +143,9 @@ func CopyFile(dst, src string, mode os.FileMode) { // so that go commands executed by build use the same version of Go as the 'host' that runs // build code. e.g. // -// /usr/lib/go-1.8/bin/go run build/ci.go ... +// /usr/lib/go-1.11/bin/go run build/ci.go ... // -// runs using go 1.8 and invokes go 1.8 tools from the same GOROOT. This is also important +// runs using go 1.11 and invokes go 1.11 tools from the same GOROOT. This is also important // because runtime.Version checks on the host should match the tools that are run. func GoTool(tool string, args ...string) *exec.Cmd { args = append([]string{tool}, args...) From faa69bea1cade1d0f8b00814fc0616c5a57f0709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Wed, 19 Sep 2018 11:47:09 +0300 Subject: [PATCH 2/2] core, eth: fix goimports for Go 1.11 --- core/genesis.go | 2 +- eth/downloader/api.go | 4 ++-- eth/handler_test.go | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/genesis.go b/core/genesis.go index 9190e2ba2..6e71afd61 100644 --- a/core/genesis.go +++ b/core/genesis.go @@ -355,7 +355,7 @@ func DeveloperGenesisBlock(period uint64, faucet common.Address) *Genesis { common.BytesToAddress([]byte{6}): {Balance: big.NewInt(1)}, // ECAdd common.BytesToAddress([]byte{7}): {Balance: big.NewInt(1)}, // ECScalarMul common.BytesToAddress([]byte{8}): {Balance: big.NewInt(1)}, // ECPairing - faucet: {Balance: new(big.Int).Sub(new(big.Int).Lsh(big.NewInt(1), 256), big.NewInt(9))}, + faucet: {Balance: new(big.Int).Sub(new(big.Int).Lsh(big.NewInt(1), 256), big.NewInt(9))}, }, } } diff --git a/eth/downloader/api.go b/eth/downloader/api.go index 91c6322d4..57ff3d71a 100644 --- a/eth/downloader/api.go +++ b/eth/downloader/api.go @@ -40,8 +40,8 @@ type PublicDownloaderAPI struct { // installSyncSubscription channel. func NewPublicDownloaderAPI(d *Downloader, m *event.TypeMux) *PublicDownloaderAPI { api := &PublicDownloaderAPI{ - d: d, - mux: m, + d: d, + mux: m, installSyncSubscription: make(chan chan interface{}), uninstallSyncSubscription: make(chan *uninstallSyncSubscriptionRequest), } diff --git a/eth/handler_test.go b/eth/handler_test.go index fee4114eb..dfaee2a15 100644 --- a/eth/handler_test.go +++ b/eth/handler_test.go @@ -242,10 +242,10 @@ func testGetBlockBodies(t *testing.T, protocol int) { available []bool // Availability of explicitly requested blocks expected int // Total number of existing blocks to expect }{ - {1, nil, nil, 1}, // A single random block should be retrievable - {10, nil, nil, 10}, // Multiple random blocks should be retrievable - {limit, nil, nil, limit}, // The maximum possible blocks should be retrievable - {limit + 1, nil, nil, limit}, // No more than the possible block count should be returned + {1, nil, nil, 1}, // A single random block should be retrievable + {10, nil, nil, 10}, // Multiple random blocks should be retrievable + {limit, nil, nil, limit}, // The maximum possible blocks should be retrievable + {limit + 1, nil, nil, limit}, // No more than the possible block count should be returned {0, []common.Hash{pm.blockchain.Genesis().Hash()}, []bool{true}, 1}, // The genesis block should be retrievable {0, []common.Hash{pm.blockchain.CurrentBlock().Hash()}, []bool{true}, 1}, // The chains head block should be retrievable {0, []common.Hash{{}}, []bool{false}, 0}, // A non existent block should not be returned