forked from ethereum/go-ethereum
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request ethereum#511 from celo-org/timmoreton/geth_1.9
Update to geth 1.9.8 + Announce v2
- Loading branch information
Showing
3,080 changed files
with
363,022 additions
and
948,604 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,85 +1,117 @@ | ||
version: 2 | ||
|
||
geth-defaults: &geth-defaults | ||
docker: | ||
- image: circleci/golang:1.12 | ||
|
||
rust-defaults: &rust-defaults | ||
docker: | ||
- image: circleci/rust:1.37.0 | ||
|
||
end-to-end-defaults: &end-to-end-defaults | ||
docker: | ||
- image: celohq/node10-gcloud | ||
environment: | ||
CELO_MONOREPO_BRANCH_TO_TEST: master | ||
|
||
jobs: | ||
unit-tests: | ||
<<: *geth-defaults | ||
working_directory: ~/repos/geth | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- run: build/env.sh go run build/ci.go test | ||
|
||
coverage: | ||
<<: *geth-defaults | ||
working_directory: ~/repos/geth | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- run: build/env.sh go run build/ci.go test -coverage | ||
- run: bash <(curl -s https://codecov.io/bash) | ||
|
||
lint: | ||
<<: *geth-defaults | ||
version: 2.1 | ||
executors: | ||
golang: | ||
docker: | ||
- image: circleci/golang:1.13 | ||
working_directory: ~/repos/geth | ||
steps: | ||
- checkout | ||
- run: build/env.sh go run build/ci.go lint | ||
|
||
bls-zexe: | ||
<<: *rust-defaults | ||
e2e: | ||
docker: | ||
- image: celohq/node10-gcloud | ||
working_directory: ~/repos/celo-monorepo/packages/celotool | ||
environment: | ||
GO_VERSION: "1.13.7" | ||
CELO_MONOREPO_BRANCH_TO_TEST: mc/geth1.9-final | ||
jobs: | ||
build-bls-zexe: | ||
docker: | ||
- image: circleci/rust:1.37.0 | ||
working_directory: ~/repos/geth | ||
steps: | ||
- checkout | ||
- run: | ||
name: Setup Rust language | ||
command: | | ||
set -euo pipefail | ||
rustup install 1.37.0 | ||
rustup default 1.37.0 | ||
- run: | ||
name: Compile bls-zexe | ||
command: | | ||
set -euo pipefail | ||
export PATH=$PATH:$HOME/.cargo/bin | ||
make bls-zexe | ||
- persist_to_workspace: | ||
root: ~/repos | ||
paths: | ||
- geth | ||
build-geth: | ||
executor: golang | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- restore_cache: | ||
keys: | ||
- go-mod-v1-{{ checksum "go.sum" }} | ||
- run: | ||
name: Build Geth | ||
command: go run build/ci.go install | ||
- save_cache: | ||
key: go-mod-v1-{{ checksum "go.sum" }} | ||
paths: | ||
- "/go/pkg/mod" | ||
- persist_to_workspace: | ||
root: ~/repos | ||
paths: | ||
- geth | ||
unit-tests: | ||
executor: golang | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- restore_cache: | ||
keys: | ||
- go-mod-v1-{{ checksum "go.sum" }} | ||
- run: go get github.com/jstemmer/go-junit-report | ||
- run: | ||
name: Run Tests | ||
command: | | ||
mkdir -p /tmp/test-results | ||
trap "go-junit-report < /tmp/test-results/go-test.out > /tmp/test-results/go-test-report.xml" EXIT | ||
go run build/ci.go test -v | tee /tmp/test-results/go-test.out | ||
- store_artifacts: | ||
path: /tmp/test-results | ||
destination: raw-test-output | ||
|
||
- store_test_results: | ||
path: /tmp/test-results | ||
|
||
coverage: | ||
executor: golang | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- restore_cache: | ||
keys: | ||
- go-mod-v1-{{ checksum "go.sum" }} | ||
- run: go run build/ci.go test -coverage | ||
- run: bash <(curl -s https://codecov.io/bash) | ||
|
||
lint: | ||
executor: golang | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- run: go get github.com/jstemmer/go-junit-report | ||
- run: | ||
name: Run Linter | ||
command: | | ||
mkdir -p /tmp/test-results | ||
go run build/ci.go ensure-linter | ||
./build/cache/golangci-lint-1.23.6-linux-amd64/golangci-lint run --config .golangci.yml --out-format junit-xml ./... | tee /tmp/test-results/go-lint-report.xml | ||
- store_artifacts: | ||
path: /tmp/test-results | ||
destination: raw-test-output | ||
- store_test_results: | ||
path: /tmp/test-results | ||
|
||
android: | ||
docker: | ||
- image: celohq/android-client | ||
user: circleci | ||
- image: celohq/circleci:android-v1 | ||
working_directory: ~/repos/geth | ||
steps: | ||
- checkout | ||
- run: | ||
name: Compile android client | ||
command: | | ||
set -euo pipefail | ||
# TODO(jeanregisser): Fix docker image so build works directly with circleci user | ||
sudo chown -R circleci:circleci $HOME/.rustup $HOME/.cargo | ||
export PATH=$PATH:$HOME/.cargo/bin | ||
export NDK_VERSION=android-ndk-r19c | ||
export ANDROID_NDK=/opt/android/${NDK_VERSION} | ||
export ANDROID_HOME=/opt/android/sdk | ||
make android | ||
command: make android | ||
- persist_to_workspace: | ||
root: ~/repos | ||
paths: | ||
|
@@ -93,21 +125,19 @@ jobs: | |
- checkout | ||
- run: | ||
name: Setup Go language | ||
command: HOMEBREW_NO_AUTO_UPDATE=1 brew install [email protected] | ||
command: | | ||
HOMEBREW_NO_AUTO_UPDATE=1 brew install go | ||
# Check that homebrew installed the expected go version | ||
if [[ "$(go version)" != "go version go1.13"* ]]; then | ||
echo "go1.13 is required" | ||
exit 1 | ||
fi | ||
- run: | ||
name: Setup Rust language | ||
command: | | ||
set -euo pipefail | ||
curl https://sh.rustup.rs -sSf | sh -s -- -y | ||
export PATH=$PATH:$HOME/.cargo/bin | ||
rustup install 1.37.0 | ||
rustup default 1.37.0 | ||
command: curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.37.0 | ||
- run: | ||
name: Compile ios client | ||
command: | | ||
set -euo pipefail | ||
export PATH="/usr/local/opt/[email protected]/bin:$HOME/.cargo/bin:$PATH" | ||
make ios | ||
command: make ios | ||
- persist_to_workspace: | ||
root: ~/repos | ||
paths: | ||
|
@@ -124,16 +154,15 @@ jobs: | |
at: ~/repos | ||
- run: ./scripts/publish-mobile-client.sh ${CIRCLE_SHA1} ${NPM_TOKEN_FOR_CELO_CLIENT} | ||
|
||
end-to-end-monorepo-checkout: | ||
<<: *end-to-end-defaults | ||
working_directory: ~/repos/celo-monorepo | ||
checkout-monorepo: | ||
executor: e2e | ||
working_directory: ~/repos | ||
steps: | ||
- run: | ||
name: Setup celo-monorepo | ||
command: | | ||
set -euo pipefail | ||
export CELO_MONOREPO_DIR="$PWD" | ||
git clone --depth 1 https://github.com/celo-org/celo-monorepo.git ${CELO_MONOREPO_DIR} -b ${CELO_MONOREPO_BRANCH_TO_TEST} | ||
git clone --depth 1 https://github.com/celo-org/celo-monorepo.git celo-monorepo -b ${CELO_MONOREPO_BRANCH_TO_TEST} | ||
cd celo-monorepo | ||
yarn install || yarn install | ||
# separate build to avoid ENOMEM in CI :( | ||
yarn build --scope @celo/utils | ||
|
@@ -144,92 +173,82 @@ jobs: | |
- run: | ||
name: Setup Go language | ||
command: | | ||
set -euo pipefail | ||
export CELO_MONOREPO_DIR="$PWD" | ||
GO_LANG_DIR="${CELO_MONOREPO_DIR}/golang" | ||
mkdir -p ${GO_LANG_DIR} | ||
wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz | ||
tar xf go1.11.5.linux-amd64.tar.gz -C ${GO_LANG_DIR} | ||
${GO_LANG_DIR}/go/bin/go version | ||
mkdir -p ~/repos/golang | ||
wget https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz | ||
tar xf go${GO_VERSION}.linux-amd64.tar.gz -C ~/repos/golang | ||
~/repos/golang/go/bin/go version | ||
- persist_to_workspace: | ||
root: ~/repos | ||
paths: | ||
- celo-monorepo | ||
- golang | ||
|
||
end-to-end-transfer-test: | ||
<<: *end-to-end-defaults | ||
working_directory: ~/repos | ||
executor: e2e | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- run: | ||
name: Geth transfer test | ||
no_output_timeout: 15m | ||
command: | | ||
export CELO_MONOREPO_DIR="$HOME/repos/celo-monorepo" | ||
export GO_LANG_DIR="$CELO_MONOREPO_DIR/golang" | ||
${GO_LANG_DIR}/go/bin/go version | ||
export PATH=${PATH}:${GO_LANG_DIR}/go/bin | ||
cd ${CELO_MONOREPO_DIR}/packages/celotool | ||
export PATH=${PATH}:~/repos/golang/go/bin | ||
./ci_test_transfers.sh local ~/repos/geth | ||
end-to-end-sync-test: | ||
<<: *end-to-end-defaults | ||
working_directory: ~/repos | ||
executor: e2e | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- run: | ||
name: Geth sync with a standalone node test | ||
command: | | ||
export CELO_MONOREPO_DIR="$HOME/repos/celo-monorepo" | ||
export GO_LANG_DIR="$CELO_MONOREPO_DIR/golang" | ||
${GO_LANG_DIR}/go/bin/go version | ||
export PATH=${PATH}:${GO_LANG_DIR}/go/bin | ||
cd ${CELO_MONOREPO_DIR}/packages/celotool | ||
export PATH=${PATH}:~/repos/golang/go/bin | ||
./ci_test_sync.sh local ~/repos/geth | ||
end-to-end-blockchain-parameters-test: | ||
<<: *end-to-end-defaults | ||
working_directory: ~/repos | ||
executor: e2e | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- run: | ||
name: Geth sync with a standalone node test | ||
name: Geth sync with a standalone nod~e test | ||
command: | | ||
export CELO_MONOREPO_DIR="$HOME/repos/celo-monorepo" | ||
export GO_LANG_DIR="$CELO_MONOREPO_DIR/golang" | ||
${GO_LANG_DIR}/go/bin/go version | ||
export PATH=${PATH}:${GO_LANG_DIR}/go/bin | ||
cd ${CELO_MONOREPO_DIR}/packages/celotool | ||
export PATH=${PATH}:~/repos/golang/go/bin | ||
./ci_test_blockchain_parameters.sh local ~/repos/geth | ||
end-to-end-geth-governance-test: | ||
<<: *end-to-end-defaults | ||
executor: e2e | ||
# Source: https://circleci.com/docs/2.0/configuration-reference/#resource_class | ||
resource_class: medium+ | ||
working_directory: ~/repos | ||
steps: | ||
- attach_workspace: | ||
at: ~/repos | ||
- run: | ||
name: Geth goverenance with a standalone node | ||
no_output_timeout: "1200s" | ||
command: | | ||
export CELO_MONOREPO_DIR="$HOME/repos/celo-monorepo" | ||
export GO_LANG_DIR="$CELO_MONOREPO_DIR/golang" | ||
${GO_LANG_DIR}/go/bin/go version | ||
export PATH=${PATH}:${GO_LANG_DIR}/go/bin | ||
cd ${CELO_MONOREPO_DIR}/packages/celotool | ||
export PATH=${PATH}:~/repos/golang/go/bin | ||
./ci_test_governance.sh local ~/repos/geth | ||
workflows: | ||
version: 2 | ||
build: | ||
jobs: | ||
- bls-zexe | ||
- lint | ||
- build-bls-zexe | ||
- checkout-monorepo | ||
- build-geth: | ||
requires: | ||
- build-bls-zexe | ||
- lint: | ||
requires: | ||
- build-geth | ||
- unit-tests: | ||
requires: | ||
- build-geth | ||
- coverage: | ||
requires: | ||
- build-geth | ||
- android | ||
- ios | ||
- publish-mobile-client: | ||
|
@@ -247,26 +266,20 @@ workflows: | |
filters: | ||
branches: | ||
only: master | ||
- end-to-end-monorepo-checkout | ||
- unit-tests: | ||
requires: | ||
- bls-zexe | ||
- coverage: | ||
requires: | ||
- bls-zexe | ||
|
||
- end-to-end-transfer-test: | ||
requires: | ||
- end-to-end-monorepo-checkout | ||
- bls-zexe | ||
- checkout-monorepo | ||
- build-geth | ||
- end-to-end-sync-test: | ||
requires: | ||
- end-to-end-monorepo-checkout | ||
- bls-zexe | ||
- checkout-monorepo | ||
- build-geth | ||
- end-to-end-blockchain-parameters-test: | ||
requires: | ||
- end-to-end-monorepo-checkout | ||
- bls-zexe | ||
- checkout-monorepo | ||
- build-geth | ||
- end-to-end-geth-governance-test: | ||
requires: | ||
- end-to-end-monorepo-checkout | ||
- bls-zexe | ||
- checkout-monorepo | ||
- build-geth |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,3 @@ | ||
**/.git | ||
.git | ||
!.git/HEAD | ||
!.git/refs/heads | ||
**/*_test.go | ||
|
||
build/_workspace | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.