Merge PR #5025: Standardize and clean up Makefile
* Attempt to standardise Makefile's conventions Use check- prefix for test- targets to adhere to Make's standard naming convention [1]. Snake-case names are abandoned in favor of kebab-case naming convention. [1] https://www.gnu.org/prep/standards/html_node/Standard-Targets.html * Replace check- with test- * Remove goimports from tools * Update circleci config * Update workflow steps names to match Makefile * Fix circleci config * s/check_statik/update-swagger-docs/
This commit is contained in:
parent
e6068a88ff
commit
849e2fb638
@ -35,7 +35,7 @@ commands:
|
||||
make << parameters.target >>
|
||||
|
||||
jobs:
|
||||
build_docs:
|
||||
build-docs:
|
||||
executor: docs
|
||||
steps:
|
||||
- checkout
|
||||
@ -46,7 +46,7 @@ jobs:
|
||||
name: "Upload docs to S3"
|
||||
command: make sync-docs
|
||||
|
||||
setup_dependencies:
|
||||
setup-dependencies:
|
||||
executor: golang
|
||||
steps:
|
||||
- checkout
|
||||
@ -74,42 +74,42 @@ jobs:
|
||||
paths:
|
||||
- ".git"
|
||||
|
||||
test_sim_nondeterminism:
|
||||
test-sim-nondeterminism:
|
||||
executor: golang
|
||||
steps:
|
||||
- make:
|
||||
target: test_sim_nondeterminism
|
||||
target: test-sim-nondeterminism
|
||||
description: "Test individual module simulations"
|
||||
|
||||
test_sim_import_export:
|
||||
test-sim-import-export:
|
||||
executor: golang
|
||||
steps:
|
||||
- make:
|
||||
target: test_sim_import_export
|
||||
target: test-sim-import-export
|
||||
description: "Test application import/export simulation"
|
||||
|
||||
test_sim_after_import:
|
||||
test-sim-after-import:
|
||||
executor: golang
|
||||
steps:
|
||||
- make:
|
||||
target: test_sim_after_import
|
||||
target: test-sim-after-import
|
||||
description: "Test simulation after import"
|
||||
|
||||
test_sim_multi_seed_long:
|
||||
test-sim-multi-seed-long:
|
||||
executor: golang
|
||||
steps:
|
||||
- make:
|
||||
target: test_sim_multi_seed_long
|
||||
target: test-sim-multi-seed-long
|
||||
description: "Test multi-seed simulation (long)"
|
||||
|
||||
test_sim_multi_seed_short:
|
||||
test-sim-multi-seed-short:
|
||||
executor: golang
|
||||
steps:
|
||||
- make:
|
||||
target: test_sim_multi_seed_short
|
||||
target: test-sim-multi-seed-short
|
||||
description: "Test multi-seed simulation (short)"
|
||||
|
||||
test_cover:
|
||||
test-cover:
|
||||
executor: golang
|
||||
parallelism: 4
|
||||
steps:
|
||||
@ -134,7 +134,7 @@ jobs:
|
||||
- store_artifacts:
|
||||
path: /tmp/logs
|
||||
|
||||
upload_coverage:
|
||||
upload-coverage:
|
||||
executor: golang
|
||||
steps:
|
||||
- attach_workspace:
|
||||
@ -162,7 +162,7 @@ jobs:
|
||||
name: upload
|
||||
command: bash <(curl -s https://codecov.io/bash) -f coverage.txt
|
||||
|
||||
check_statik:
|
||||
update-swagger-docs:
|
||||
executor: golang
|
||||
steps:
|
||||
- make:
|
||||
@ -173,30 +173,30 @@ workflows:
|
||||
version: 2
|
||||
test-suite:
|
||||
jobs:
|
||||
- check_statik:
|
||||
- update-swagger-docs:
|
||||
requires:
|
||||
- setup_dependencies
|
||||
- setup_dependencies:
|
||||
- setup-dependencies
|
||||
- setup-dependencies:
|
||||
# This filter enables the job for tags
|
||||
filters:
|
||||
tags:
|
||||
only:
|
||||
- /^v.*/
|
||||
- test_sim_nondeterminism:
|
||||
- test-sim-nondeterminism:
|
||||
requires:
|
||||
- setup_dependencies
|
||||
- test_sim_import_export:
|
||||
- setup-dependencies
|
||||
- test-sim-import-export:
|
||||
requires:
|
||||
- setup_dependencies
|
||||
- test_sim_after_import:
|
||||
- setup-dependencies
|
||||
- test-sim-after-import:
|
||||
requires:
|
||||
- setup_dependencies
|
||||
- test_sim_multi_seed_short:
|
||||
- setup-dependencies
|
||||
- test-sim-multi-seed-short:
|
||||
requires:
|
||||
- setup_dependencies
|
||||
- test_sim_multi_seed_long:
|
||||
- setup-dependencies
|
||||
- test-sim-multi-seed-long:
|
||||
requires:
|
||||
- setup_dependencies
|
||||
- setup-dependencies
|
||||
# These filters ensure that the long sim only runs during release
|
||||
filters:
|
||||
branches:
|
||||
@ -204,13 +204,13 @@ workflows:
|
||||
tags:
|
||||
only:
|
||||
- /^v.*/
|
||||
- test_cover:
|
||||
- test-cover:
|
||||
requires:
|
||||
- setup_dependencies
|
||||
- upload_coverage:
|
||||
- setup-dependencies
|
||||
- upload-coverage:
|
||||
requires:
|
||||
- test_cover
|
||||
- build_docs:
|
||||
- test-cover
|
||||
- build-docs:
|
||||
context: docs-deployment-master
|
||||
filters:
|
||||
branches:
|
||||
@ -219,7 +219,7 @@ workflows:
|
||||
tags:
|
||||
ignore:
|
||||
- /^v.*/
|
||||
- build_docs:
|
||||
- build-docs:
|
||||
context: docs-deployment-release
|
||||
filters:
|
||||
branches:
|
||||
|
||||
68
Makefile
68
Makefile
@ -83,89 +83,95 @@ sync-docs:
|
||||
echo "CI job = ${CIRCLE_BUILD_URL}" >> version.html ; \
|
||||
aws s3 sync . s3://${WEBSITE_BUCKET} --profile terraform --delete ; \
|
||||
aws cloudfront create-invalidation --distribution-id ${CF_DISTRIBUTION_ID} --profile terraform --path "/*" ;
|
||||
.PHONY: sync_docs
|
||||
.PHONY: sync-docs
|
||||
|
||||
########################################
|
||||
### Testing
|
||||
|
||||
test: test_unit
|
||||
test: test-unit
|
||||
test-all: test-unit test-ledger-mock test-race test-cover
|
||||
|
||||
test_ledger_mock:
|
||||
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
|
||||
test-ledger: test-ledger-mock
|
||||
@go test -mod=readonly -v `go list github.com/cosmos/cosmos-sdk/crypto` -tags='cgo ledger'
|
||||
|
||||
test_unit:
|
||||
test-unit:
|
||||
@VERSION=$(VERSION) go test -mod=readonly $(PACKAGES_NOSIMULATION) -tags='ledger test_ledger_mock'
|
||||
|
||||
test_race:
|
||||
test-race:
|
||||
@VERSION=$(VERSION) go test -mod=readonly -race $(PACKAGES_NOSIMULATION)
|
||||
|
||||
test_sim_nondeterminism:
|
||||
.PHONY: test test-all test-ledger-mock test-ledger test-unit test-race
|
||||
|
||||
test-sim-nondeterminism:
|
||||
@echo "Running non-determinism test..."
|
||||
@go test -mod=readonly $(SIMAPP) -run TestAppStateDeterminism -Enabled=true \
|
||||
-NumBlocks=100 -BlockSize=200 -Commit=true -Period=0 -v -timeout 24h
|
||||
|
||||
test_sim_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_import_export: runsim
|
||||
test-sim-import-export: runsim
|
||||
@echo "Running application import/export simulation. This may take several minutes..."
|
||||
@$(BINDIR)/runsim -Jobs=4 -SimAppPkg=$(SIMAPP) 50 5 TestAppImportExport
|
||||
|
||||
test_sim_after_import: runsim
|
||||
test-sim-after-import: runsim
|
||||
@echo "Running application simulation-after-import. This may take several minutes..."
|
||||
@$(BINDIR)/runsim -Jobs=4 -SimAppPkg=$(SIMAPP) 50 5 TestAppSimulationAfterImport
|
||||
|
||||
test_sim_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 -Genesis=${HOME}/.gaiad/config/genesis.json -SimAppPkg=$(SIMAPP) 400 5 TestFullAppSimulation
|
||||
|
||||
test_sim_multi_seed_long: runsim
|
||||
test-sim-multi-seed-long: runsim
|
||||
@echo "Running long multi-seed application simulation. This may take awhile!"
|
||||
@$(BINDIR)/runsim -Jobs=4 -SimAppPkg=$(SIMAPP) 500 50 TestFullAppSimulation
|
||||
|
||||
test_sim_multi_seed_short: runsim
|
||||
test-sim-multi-seed-short: runsim
|
||||
@echo "Running short multi-seed application simulation. This may take awhile!"
|
||||
@$(BINDIR)/runsim -Jobs=4 -SimAppPkg=$(SIMAPP) 50 10 TestFullAppSimulation
|
||||
|
||||
test_sim_benchmark_invariants:
|
||||
test-sim-benchmark-invariants:
|
||||
@echo "Running simulation invariant benchmarks..."
|
||||
@go test -mod=readonly $(SIMAPP) -benchmem -bench=BenchmarkInvariants -run=^$ \
|
||||
-Enabled=true -NumBlocks=1000 -BlockSize=200 \
|
||||
-Period=1 -Commit=true -Seed=57 -v -timeout 24h
|
||||
|
||||
.PHONY: test \
|
||||
test_sim_nondeterminism \
|
||||
test_sim_custom_genesis_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
|
||||
.PHONY: \
|
||||
test-sim-nondeterminism \
|
||||
test-sim-custom-genesis-fast \
|
||||
test-sim-import-export \
|
||||
test-sim-after-import \
|
||||
test-sim-custom-genesis-multi-seed \
|
||||
test-sim-multi-seed-short \
|
||||
test-sim-multi-seed-long \
|
||||
test-sim-benchmark-invariants
|
||||
|
||||
SIM_NUM_BLOCKS ?= 500
|
||||
SIM_BLOCK_SIZE ?= 200
|
||||
SIM_COMMIT ?= true
|
||||
|
||||
test_sim_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_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
|
||||
|
||||
test_cover:
|
||||
.PHONY: test-sim-profile test-sim-benchmark
|
||||
|
||||
test-cover:
|
||||
@export VERSION=$(VERSION); bash -x tests/test_cover.sh
|
||||
.PHONY: test-cover
|
||||
|
||||
lint: golangci-lint
|
||||
$(BINDIR)/golangci-lint run
|
||||
@ -188,7 +194,7 @@ benchmark:
|
||||
|
||||
DEVDOC_SAVE = docker commit `docker ps -a -n 1 -q` devdoc:local
|
||||
|
||||
devdoc_init:
|
||||
devdoc-init:
|
||||
docker run -it -v "$(CURDIR):/go/src/github.com/cosmos/cosmos-sdk" -w "/go/src/github.com/cosmos/cosmos-sdk" tendermint/devdoc echo
|
||||
# TODO make this safer
|
||||
$(call DEVDOC_SAVE)
|
||||
@ -196,14 +202,14 @@ devdoc_init:
|
||||
devdoc:
|
||||
docker run -it -v "$(CURDIR):/go/src/github.com/cosmos/cosmos-sdk" -w "/go/src/github.com/cosmos/cosmos-sdk" devdoc:local bash
|
||||
|
||||
devdoc_save:
|
||||
devdoc-save:
|
||||
# TODO make this safer
|
||||
$(call DEVDOC_SAVE)
|
||||
|
||||
devdoc_clean:
|
||||
devdoc-clean:
|
||||
docker rmi -f $$(docker images -f "dangling=true" -q)
|
||||
|
||||
devdoc_update:
|
||||
devdoc-update:
|
||||
docker pull tendermint/devdoc
|
||||
|
||||
.PHONY: devdoc devdoc_clean devdoc_init devdoc_save devdoc_update
|
||||
.PHONY: devdoc devdoc-clean devdoc-init devdoc-save devdoc-update
|
||||
|
||||
@ -44,12 +44,11 @@ TOOLS_DESTDIR ?= $(GOPATH)/bin
|
||||
|
||||
GOLANGCI_LINT = $(TOOLS_DESTDIR)/golangci-lint
|
||||
STATIK = $(TOOLS_DESTDIR)/statik
|
||||
GOIMPORTS = $(TOOLS_DESTDIR)/goimports
|
||||
RUNSIM = $(TOOLS_DESTDIR)/runsim
|
||||
|
||||
all: tools
|
||||
|
||||
tools: statik runsim goimports golangci-lint
|
||||
tools: statik runsim golangci-lint
|
||||
|
||||
golangci-lint: $(GOLANGCI_LINT)
|
||||
$(GOLANGCI_LINT): $(mkfile_dir)/install-golangci-lint.sh
|
||||
@ -60,18 +59,13 @@ $(STATIK):
|
||||
@echo "Get statik"
|
||||
@go get github.com/rakyll/statik
|
||||
|
||||
goimports: $(GOIMPORTS)
|
||||
$(GOIMPORTS):
|
||||
@echo "Get goimports@v0.0.0-20190628034336-212fb13d595e"
|
||||
@go get golang.org/x/tools/cmd/goimports@v0.0.0-20190628034336-212fb13d595e
|
||||
|
||||
runsim: $(RUNSIM)
|
||||
$(RUNSIM):
|
||||
@echo "Get runsim"
|
||||
@go get github.com/cosmos/tools/cmd/runsim
|
||||
|
||||
tools-clean:
|
||||
rm -f $(STATIK) $(GOIMPORTS) $(GOLANGCI_LINT) $(RUNSIM)
|
||||
rm -f $(STATIK) $(GOLANGCI_LINT) $(RUNSIM)
|
||||
rm -f tools-stamp
|
||||
|
||||
.PHONY: all tools tools-clean
|
||||
|
||||
Loading…
Reference in New Issue
Block a user