CI configuration refactor (#4776)
* added back the tools targets * removed ci target
This commit is contained in:
parent
243e87660b
commit
e8ed9302f7
|
@ -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
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
#4775 Refactor CI config
|
104
Makefile
104
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
|
||||
|
|
|
@ -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
|
||||
|
|
4
go.mod
4
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
|
||||
)
|
||||
|
|
8
go.sum
8
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=
|
||||
|
|
Loading…
Reference in New Issue