From e8ed9302f7cf343e7d0931672b7df8e3aa9da737 Mon Sep 17 00:00:00 2001 From: mircea-c Date: Thu, 25 Jul 2019 14:21:42 -0400 Subject: [PATCH] CI configuration refactor (#4776) * added back the tools targets * removed ci target --- .circleci/config.yml | 279 +++++++-------------- .pending/improvements/_4775-Refactor-CI-co | 1 + Makefile | 104 ++++---- contrib/devtools/Makefile | 33 +-- go.mod | 4 +- go.sum | 8 +- 6 files changed, 163 insertions(+), 266 deletions(-) create mode 100644 .pending/improvements/_4775-Refactor-CI-co diff --git a/.circleci/config.yml b/.circleci/config.yml index b4cdb51199..37f145c028 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,157 +1,108 @@ -version: 2 +version: 2.1 -defaults: &linux_defaults - working_directory: /go/src/github.com/cosmos/cosmos-sdk - docker: - - image: circleci/golang:1.12.5 +executors: + golang: + docker: + - image: circleci/golang:1.12.7 + docs: + docker: + - image: tendermintdev/docker-website-deployment + environment: + AWS_REGION: us-east-1 -############ -# -# Configure docs deployment - -docs_update: &docs_deploy - working_directory: ~/repo - docker: - - image: tendermintdev/jq_curl - environment: - AWS_REGION: us-east-1 +commands: + make: + parameters: + description: + type: string + target: + type: string + steps: + - attach_workspace: + at: /tmp/workspace + - restore_cache: + name: "Restore source code cache" + keys: + - go-src-v1-{{ .Revision }} + - checkout + - restore_cache: + name: "Restore go modules cache" + keys: + - go-mod-v1-{{ checksum "go.sum" }} + - run: + name: << parameters.description >> + command: | + make << parameters.target >> jobs: setup_dependencies: - <<: *linux_defaults + executor: golang steps: - - run: mkdir -p /tmp/workspace/bin - - run: mkdir -p /tmp/workspace/profiles - checkout - restore_cache: + name: "Restore go modules cache" keys: - go-mod-v1-{{ checksum "go.sum" }} - run: - name: tools - command: | - make runsim tools TOOLS_DESTDIR=/tmp/workspace/bin - cp $GOPATH/bin/runsim /tmp/workspace/bin - cp $GOPATH/bin/statik /tmp/workspace/bin + name: Cache go modules + command: make go-mod-cache - run: - name: cache go modules - command: | - make go-mod-cache + name: Build + command: make build + - run: + name: Git garbage collection + command: git gc - save_cache: + name: "Save go modules cache" key: go-mod-v1-{{ checksum "go.sum" }} paths: - "/go/pkg/mod" - - run: - name: build - command: | - make build - - persist_to_workspace: - root: /tmp/workspace + - save_cache: + name: "Save source code cache" + key: go-src-v1-{{ .Revision }} paths: - - bin - - profiles + - ".git" - test_sim_app_nondeterminism: - <<: *linux_defaults - parallelism: 1 + test_sim_nondeterminism: + executor: golang steps: - - attach_workspace: - at: /tmp/workspace - - checkout - - restore_cache: - keys: - - go-mod-v1-{{ checksum "go.sum" }} - - run: - name: Test individual module simulations - command: | - make test_sim_app_nondeterminism + - make: + target: test_sim_nondeterminism + description: "Test individual module simulations" - test_sim_app_fast: - <<: *linux_defaults - parallelism: 1 + test_sim_import_export: + executor: golang steps: - - attach_workspace: - at: /tmp/workspace - - checkout - - restore_cache: - keys: - - go-mod-v1-{{ checksum "go.sum" }} - - run: - name: Test full application simulation - command: | - make test_sim_app_fast + - make: + target: test_sim_import_export + description: "Test application import/export simulation" - test_sim_app_import_export: - <<: *linux_defaults - parallelism: 1 + test_sim_after_import: + executor: golang steps: - - attach_workspace: - at: /tmp/workspace - - checkout - - restore_cache: - keys: - - go-mod-v1-{{ checksum "go.sum" }} - - run: - name: Test application import/export simulation - command: | - export GO111MODULE=on - /tmp/workspace/bin/runsim -j 4 github.com/cosmos/cosmos-sdk/simapp 50 5 TestAppImportExport + - make: + target: test_sim_after_import + description: "Test simulation after import" - test_sim_app_simulation_after_import: - <<: *linux_defaults - parallelism: 1 + test_sim_multi_seed_long: + executor: golang steps: - - attach_workspace: - at: /tmp/workspace - - checkout - - restore_cache: - keys: - - go-mod-v1-{{ checksum "go.sum" }} - - run: - name: Test application import/export simulation - command: | - export GO111MODULE=on - /tmp/workspace/bin/runsim -j 4 github.com/cosmos/cosmos-sdk/simapp 50 5 TestAppSimulationAfterImport + - make: + target: test_sim_multi_seed_long + description: "Test multi-seed simulation (long)" - test_sim_app_multi_seed_long: - <<: *linux_defaults - parallelism: 1 + test_sim_multi_seed_short: + executor: golang steps: - - attach_workspace: - at: /tmp/workspace - - checkout - - restore_cache: - keys: - - go-mod-v1-{{ checksum "go.sum" }} - - run: - name: Test multi-seed application simulation long - command: | - export GO111MODULE=on - /tmp/workspace/bin/runsim -j 4 github.com/cosmos/cosmos-sdk/simapp 500 50 TestFullAppSimulation - - test_sim_app_multi_seed: - <<: *linux_defaults - parallelism: 1 - steps: - - attach_workspace: - at: /tmp/workspace - - checkout - - restore_cache: - keys: - - go-mod-v1-{{ checksum "go.sum" }} - - run: - name: Test multi-seed application simulation short - command: | - export GO111MODULE=on - /tmp/workspace/bin/runsim -j 4 github.com/cosmos/cosmos-sdk/simapp 50 10 TestFullAppSimulation + - make: + target: test_sim_multi_seed_short + description: "Test multi-seed simulation (short)" test_cover: - <<: *linux_defaults + executor: golang parallelism: 4 steps: - - attach_workspace: - at: /tmp/workspace - checkout - - run: mkdir -p /tmp/logs - restore_cache: keys: - go-mod-v1-{{ checksum "go.sum" }} @@ -160,7 +111,8 @@ jobs: command: | export VERSION="$(git describe --tags --long | sed 's/v\(.*\)/\1/')" export GO111MODULE=on - for pkg in $(go list ./... | grep -v '/simulation' | circleci tests split --split-by=timings); do + mkdir -p /tmp/logs /tmp/workspace/profiles + for pkg in $(go list ./... | grep -v '/simulation' | circleci tests split); do id=$(echo "$pkg" | sed 's|[/.]|_|g') go test -mod=readonly -timeout 8m -race -coverprofile=/tmp/workspace/profiles/$id.out -covermode=atomic -tags='ledger test_ledger_mock' "$pkg" | tee "/tmp/logs/$id-$RANDOM.log" done @@ -172,8 +124,7 @@ jobs: path: /tmp/logs upload_coverage: - <<: *linux_defaults - parallelism: 1 + executor: golang steps: - attach_workspace: at: /tmp/workspace @@ -181,8 +132,6 @@ jobs: - run: name: gather command: | - set -ex - echo "--> Concatenating profiles:" ls /tmp/workspace/profiles/ echo "mode: atomic" > coverage.txt @@ -201,53 +150,12 @@ jobs: name: upload command: bash <(curl -s https://codecov.io/bash) -f coverage.txt - deploy_docs: - <<: *docs_deploy - steps: - - checkout - - run: - name: Trigger website build - command: | - curl --silent \ - --show-error \ - -X POST \ - --header "Content-Type: application/json" \ - -d "{\"branch\": \"$CIRCLE_BRANCH\"}" \ - "https://circleci.com/api/v1.1/project/github/$CIRCLE_PROJECT_USERNAME/$WEBSITE_REPO_NAME/build?circle-token=$TENDERBOT_API_TOKEN" > response.json - - RESULT=`jq -r '.status' response.json` - MESSAGE=`jq -r '.message' response.json` - - if [[ ${RESULT} == "null" ]] || [[ ${RESULT} -ne "200" ]]; then - echo "CircleCI API call failed: $MESSAGE" - exit 1 - else - echo "Website build started" - fi - check_statik: - <<: *linux_defaults - parallelism: 1 + executor: golang steps: - - attach_workspace: - at: /tmp/workspace - - checkout - - restore_cache: - keys: - - go-mod-v1-{{ checksum "go.sum" }} - - run: - name: check if statik.go is up-to-date - command: | - set -ex - export PATH=/tmp/workspace/bin:$PATH - - make update-swagger-docs - if [ -n "$(git status --porcelain)" ]; then - echo "swagger docs out of sync"; - exit 1 - else - echo "swagger docs are in sync"; - fi + - make: + target: update-swagger-docs + description: "Check if statik.go is up-to-date" workflows: version: 2 @@ -256,41 +164,34 @@ workflows: - check_statik: requires: - setup_dependencies - - deploy_docs: - filters: - branches: - only: - - master - - develop - setup_dependencies: - # filters here are needed to enable this job also for tags + # This filter enables the job for tags filters: tags: only: - /^v.*/ - - test_sim_app_nondeterminism: + - test_sim_nondeterminism: requires: - setup_dependencies - - test_sim_app_fast: + - test_sim_import_export: requires: - setup_dependencies - - test_sim_app_import_export: + - test_sim_after_import: requires: - setup_dependencies - - test_sim_app_simulation_after_import: + - test_sim_multi_seed_short: requires: - setup_dependencies - - test_sim_app_multi_seed: - requires: - - setup_dependencies - - test_sim_app_multi_seed_long: + - test_sim_multi_seed_long: requires: - setup_dependencies + # These filters ensure that the long sim only runs during release filters: branches: + ignore: /.*/ + tags: only: - - master - - develop + - /^v.*/ - test_cover: requires: - setup_dependencies diff --git a/.pending/improvements/_4775-Refactor-CI-co b/.pending/improvements/_4775-Refactor-CI-co new file mode 100644 index 0000000000..650e919d97 --- /dev/null +++ b/.pending/improvements/_4775-Refactor-CI-co @@ -0,0 +1 @@ +#4775 Refactor CI config \ No newline at end of file diff --git a/Makefile b/Makefile index 5afe8393b4..c0f8d00bc7 100644 --- a/Makefile +++ b/Makefile @@ -6,36 +6,36 @@ VERSION := $(shell echo $(shell git describe --tags) | sed 's/^v//') COMMIT := $(shell git log -1 --format='%H') LEDGER_ENABLED ?= true BINDIR ?= $(GOPATH)/bin -SIMAPP = github.com/cosmos/cosmos-sdk/simapp +SIMAPP = ./simapp MOCKS_DIR = $(CURDIR)/tests/mocks export GO111MODULE = on all: tools build lint test -# The below include contains the tools target. +# The below include contains the tools and runsim targets. include contrib/devtools/Makefile -######################################## -### CI - -ci: tools build test_cover lint test - ######################################## ### Build build: go.sum @go build -mod=readonly ./... +.PHONY: build -update-swagger-docs: - @statik -src=client/lcd/swagger-ui -dest=client/lcd -f -m - -dist: - @bash publish/dist.sh - @bash publish/publish.sh +update-swagger-docs: statik + $(BINDIR)/statik -src=client/lcd/swagger-ui -dest=client/lcd -f -m + if [ -n "$(git status --porcelain)" ]; then \ + echo "swagger docs out of sync";\ + exit 1;\ + else \ + echo "swagger docs are in sync";\ + fi +.PHONY: update-swagger-docs mocks: $(MOCKS_DIR) mockgen -source=x/auth/types/account_retriever.go -package mocks -destination tests/mocks/account_retriever.go +.PHONY: mocks $(MOCKS_DIR): mkdir -p $(MOCKS_DIR) @@ -46,21 +46,20 @@ $(MOCKS_DIR): go-mod-cache: go.sum @echo "--> Download go modules to local cache" @go mod download +.PHONY: go-mod-cache go.sum: go.mod @echo "--> Ensure dependencies have not been modified" @go mod verify @go mod tidy -clean: - rm -rf snapcraft-local.yaml build/ - -distclean: clean +distclean: rm -rf \ gitian-build-darwin/ \ gitian-build-linux/ \ gitian-build-windows/ \ .gitian-builder-cache/ +.PHONY: distclean ######################################## ### Documentation @@ -69,14 +68,13 @@ godocs: @echo "--> Wait a few seconds and visit http://localhost:6060/pkg/github.com/cosmos/cosmos-sdk/types" godoc -http=:6060 - ######################################## ### Testing test: test_unit test_ledger_mock: - @go test -mod=readonly `go list github.com/cosmos/cosmos-sdk/crypto` -tags='cgo ledger test_ledger_mock' + @go test -mod=readonly `go list github.com/cosmos/cosmos-sdk/crypto` -tags='cgo ledger test_ledger_mock' test_ledger: test_ledger_mock @go test -mod=readonly -v `go list github.com/cosmos/cosmos-sdk/crypto` -tags='cgo ledger' @@ -87,36 +85,36 @@ test_unit: test_race: @VERSION=$(VERSION) go test -mod=readonly -race $(PACKAGES_NOSIMULATION) -test_sim_app_nondeterminism: +test_sim_nondeterminism: @echo "Running nondeterminism test..." @go test -mod=readonly $(SIMAPP) -run TestAppStateDeterminism -Enabled=true -v -timeout 10m -test_sim_app_custom_genesis_fast: +test_sim_custom_genesis_fast: @echo "Running custom genesis simulation..." @echo "By default, ${HOME}/.gaiad/config/genesis.json will be used." @go test -mod=readonly $(SIMAPP) -run TestFullAppSimulation -Genesis=${HOME}/.gaiad/config/genesis.json \ -Enabled=true -NumBlocks=100 -BlockSize=200 -Commit=true -Seed=99 -Period=5 -v -timeout 24h -test_sim_app_fast: - @echo "Running quick application simulation. This may take several minutes..." - @go test -mod=readonly $(SIMAPP) -run TestFullAppSimulation -Enabled=true -NumBlocks=100 -BlockSize=200 -Commit=true -Seed=99 -Period=5 -v -timeout 24h - -test_sim_app_import_export: runsim +test_sim_import_export: runsim @echo "Running application import/export simulation. This may take several minutes..." - $(BINDIR)/runsim -e $(SIMAPP) 25 5 TestAppImportExport + $(BINDIR)/runsim -j 4 $(SIMAPP) 50 5 TestAppImportExport -test_sim_app_simulation_after_import: runsim +test_sim_after_import: runsim @echo "Running application simulation-after-import. This may take several minutes..." - $(BINDIR)/runsim -e $(SIMAPP) 25 5 TestAppSimulationAfterImport + $(BINDIR)/runsim -j 4 $(SIMAPP) 50 5 TestAppSimulationAfterImport -test_sim_app_custom_genesis_multi_seed: runsim +test_sim_custom_genesis_multi_seed: runsim @echo "Running multi-seed custom genesis simulation..." @echo "By default, ${HOME}/.gaiad/config/genesis.json will be used." $(BINDIR)/runsim -g ${HOME}/.gaiad/config/genesis.json $(SIMAPP) 400 5 TestFullAppSimulation -test_sim_app_multi_seed: runsim +test_sim_multi_seed_long: runsim @echo "Running multi-seed application simulation. This may take awhile!" - $(BINDIR)/runsim $(SIMAPP) 400 5 TestFullAppSimulation + $(BINDIR)/runsim -j 4 $(SIMAPP) 500 50 TestFullAppSimulation + +test_sim_multi_seed_short: runsim + @echo "Running multi-seed application simulation. This may take awhile!" + $(BINDIR)/runsim -j 4 $(SIMAPP) 50 10 TestFullAppSimulation test_sim_benchmark_invariants: @echo "Running simulation invariant benchmarks..." @@ -124,22 +122,27 @@ test_sim_benchmark_invariants: -Enabled=true -NumBlocks=1000 -BlockSize=200 \ -Commit=true -Seed=57 -v -timeout 24h -# Don't move it into tools - this will be gone once gaia has moved into the new repo -runsim: $(BINDIR)/runsim -$(BINDIR)/runsim: - go get github.com/cosmos/tools/cmd/runsim/ - go mod tidy +.PHONY: test \ +test_sim_nondeterminism \ +test_sim_custom_genesis_fast \ +test_sim_fast \ +test_sim_import_export \ +test_sim_after_import \ +test_sim_custom_genesis_multi_seed \ +test_sim_multi_seed \ +test_sim_multi_seed_short \ +test_sim_benchmark_invariants SIM_NUM_BLOCKS ?= 500 SIM_BLOCK_SIZE ?= 200 SIM_COMMIT ?= true -test_sim_app_benchmark: +test_sim_benchmark: @echo "Running application benchmark for numBlocks=$(SIM_NUM_BLOCKS), blockSize=$(SIM_BLOCK_SIZE). This may take awhile!" @go test -mod=readonly -benchmem -run=^$$ $(SIMAPP) -bench ^BenchmarkFullAppSimulation$$ \ -Enabled=true -NumBlocks=$(SIM_NUM_BLOCKS) -BlockSize=$(SIM_BLOCK_SIZE) -Commit=$(SIM_COMMIT) -timeout 24h -test_sim_app_profile: +test_sim_profile: @echo "Running application benchmark for numBlocks=$(SIM_NUM_BLOCKS), blockSize=$(SIM_BLOCK_SIZE). This may take awhile!" @go test -mod=readonly -benchmem -run=^$$ $(SIMAPP) -bench ^BenchmarkFullAppSimulation$$ \ -Enabled=true -NumBlocks=$(SIM_NUM_BLOCKS) -BlockSize=$(SIM_BLOCK_SIZE) -Commit=$(SIM_COMMIT) -timeout 24h -cpuprofile cpu.out -memprofile mem.out @@ -148,18 +151,20 @@ test_cover: @export VERSION=$(VERSION); bash -x tests/test_cover.sh lint: golangci-lint - golangci-lint run + $(BINDIR)/golangci-lint run find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" | xargs gofmt -d -s go mod verify +.PHONY: lint format: tools find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/lcd/statik/statik.go" | xargs gofmt -w -s find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/lcd/statik/statik.go" | xargs misspell -w find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/lcd/statik/statik.go" | xargs goimports -w -local github.com/cosmos/cosmos-sdk +.PHONY: format benchmark: @go test -mod=readonly -bench=. $(PACKAGES_NOSIMULATION) - +.PHONY: benchmark ######################################## ### Devdoc @@ -184,19 +189,4 @@ devdoc_clean: devdoc_update: docker pull tendermint/devdoc - -######################################## -### Packaging - -snapcraft-local.yaml: snapcraft-local.yaml.in - sed "s/@VERSION@/${VERSION}/g" < $< > $@ - -# To avoid unintended conflicts with file names, always add to .PHONY -# unless there is a reason not to. -# https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html -.PHONY: build dist clean test test_unit test_cover lint mocks \ -benchmark devdoc_init devdoc devdoc_save devdoc_update runsim \ -format test_sim_app_nondeterminism test_sim_modules test_sim_app_fast \ -test_sim_app_custom_genesis_fast test_sim_app_custom_genesis_multi_seed \ -test_sim_app_multi_seed test_sim_app_import_export test_sim_benchmark_invariants \ -go-mod-cache +.PHONY: devdoc devdoc_clean devdoc_init devdoc_save devdoc_update diff --git a/contrib/devtools/Makefile b/contrib/devtools/Makefile index f414f943b3..4c663053f1 100644 --- a/contrib/devtools/Makefile +++ b/contrib/devtools/Makefile @@ -5,10 +5,10 @@ ### ifeq ($(OS),Windows_NT) GO := $(shell where go.exe 2> NUL) - FS := \\ + FS := "\\" else GO := $(shell command -v go 2> /dev/null) - FS := / + FS := "/" endif ifeq ($(GO),) @@ -33,8 +33,6 @@ mkdir -p $(GITHUBDIR)$(FS)$(1) &&\ )\ cd $(GITHUBDIR)$(FS)$(1)$(FS)$(2) && git fetch origin && git checkout -q $(3) -go_install = $(call go_get,$(1),$(2),$(3)) && cd $(GITHUBDIR)$(FS)$(1)$(FS)$(2) && $(GO) install - mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) mkfile_dir := $(shell cd $(shell dirname $(mkfile_path)); pwd) @@ -48,31 +46,38 @@ GOLANGCI_LINT = $(TOOLS_DESTDIR)/golangci-lint STATIK = $(TOOLS_DESTDIR)/statik GOIMPORTS = $(TOOLS_DESTDIR)/goimports CLOG = $(TOOLS_DESTDIR)/clog +RUNSIM = $(TOOLS_DESTDIR)/runsim all: tools -tools: tools-stamp - go mod tidy - -tools-stamp: $(STATIK) $(GOIMPORTS) - touch $@ +tools: statik clog runsim goimports golangci-lint +golangci-lint: $(GOLANGCI_LINT) $(GOLANGCI_LINT): $(mkfile_dir)/install-golangci-lint.sh bash $(mkfile_dir)/install-golangci-lint.sh $(TOOLS_DESTDIR) $(GOLANGCI_LINT_VERSION) $(GOLANGCI_LINT_HASHSUM) +statik: $(STATIK) $(STATIK): - $(call go_install,rakyll,statik,v0.1.5) + @echo "Get statik" + @go get github.com/rakyll/statik +goimports: $(GOIMPORTS) $(GOIMPORTS): - go get golang.org/x/tools/cmd/goimports@v0.0.0-20190628034336-212fb13d595e + @echo "Get goimports@v0.0.0-20190628034336-212fb13d595e" + @go get golang.org/x/tools/cmd/goimports@v0.0.0-20190628034336-212fb13d595e +clog: $(CLOG) $(CLOG): - go get github.com/cosmos/tools/cmd/clog/ + @echo "Get clog" + @go get github.com/cosmos/tools/cmd/clog -golangci-lint: $(GOLANGCI_LINT) +runsim: $(RUNSIM) +$(RUNSIM): + @echo "Get runsim" + @go get github.com/cosmos/tools/cmd/runsim tools-clean: - rm -f $(STATIK) $(GOIMPORTS) $(CLOG) $(GOLANGCI_LINT) + rm -f $(STATIK) $(GOIMPORTS) $(CLOG) $(GOLANGCI_LINT) $(RUNSIM) rm -f tools-stamp .PHONY: all tools tools-clean diff --git a/go.mod b/go.mod index d9545349c8..dab8b81245 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,6 @@ require ( github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d github.com/cosmos/go-bip39 v0.0.0-20180618194314-52158e4697b8 github.com/cosmos/ledger-cosmos-go v0.10.3 - github.com/cosmos/tools/cmd/clog v0.0.0-20190722180430-ea942c183cba // indirect github.com/fortytw2/leaktest v1.3.0 // indirect github.com/gogo/protobuf v1.2.1 github.com/golang/mock v1.3.1-0.20190508161146-9fa652df1129 @@ -19,7 +18,7 @@ require ( github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 // indirect github.com/prometheus/common v0.2.0 // indirect github.com/prometheus/procfs v0.0.0-20190227231451-bbced9601137 // indirect - github.com/rakyll/statik v0.1.4 + github.com/rakyll/statik v0.1.5 github.com/spf13/afero v1.2.1 // indirect github.com/spf13/cobra v0.0.5 github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -31,6 +30,7 @@ require ( github.com/tendermint/go-amino v0.15.0 github.com/tendermint/iavl v0.12.3-0.20190712145259-c834d3192b52 github.com/tendermint/tendermint v0.32.1 + golang.org/x/net v0.0.0-20190628185345-da137c7871d7 // indirect google.golang.org/grpc v1.19.0 // indirect gopkg.in/yaml.v2 v2.2.2 ) diff --git a/go.sum b/go.sum index 0b0d7dd839..9769a861da 100644 --- a/go.sum +++ b/go.sum @@ -33,8 +33,6 @@ github.com/cosmos/ledger-cosmos-go v0.10.3 h1:Qhi5yTR5Pg1CaTpd00pxlGwNl4sFRdtK1J github.com/cosmos/ledger-cosmos-go v0.10.3/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= -github.com/cosmos/tools/cmd/clog v0.0.0-20190722180430-ea942c183cba h1:YhVnGzBkE2TvfBW5fAYBdNVK/3bwTPYVbMaOIGRHFRY= -github.com/cosmos/tools/cmd/clog v0.0.0-20190722180430-ea942c183cba/go.mod h1:TdPuAVaU2rc6K24ejr/AnGznt9Fd2qjtMoRrTO4uFrI= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -133,8 +131,8 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190227231451-bbced9601137 h1:3l8oligPtjd4JuM+OZ+U8sjtwFGJs98cdWsqs6QZRWs= github.com/prometheus/procfs v0.0.0-20190227231451-bbced9601137/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/rakyll/statik v0.1.4 h1:zCS/YQCxfo/fQjCtGVGIyWGFnRbQ18Y55mhS3XPE+Oo= -github.com/rakyll/statik v0.1.4/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs= +github.com/rakyll/statik v0.1.5 h1:Ly2UjURzxnsSYS0zI50fZ+srA+Fu7EbpV5hglvJvJG0= +github.com/rakyll/statik v0.1.5/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs= github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165 h1:nkcn14uNmFEuGCb2mBZbBb24RdNRL08b/wb+xBOYpuk= github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI= @@ -198,6 +196,8 @@ golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=