-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
138 lines (120 loc) · 4.27 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
.PHONY: clean
clean: clean-test clean-build clean-pyc clean-docs
.PHONY: clean-build
clean-build:
rm -fr build/
rm -fr dist/
rm -fr .eggs/
rm -fr pip-wheel-metadata
find . -name '*.egg-info' -exec rm -fr {} +
find . -name '*.egg' -exec rm -fr {} +
find . -type d -name __pycache__ -exec rm -rv {} +
rm -fr Pipfile.lock
rm -rf plugins/*/build
rm -rf plugins/*/dist
.PHONY: clean-docs
clean-docs:
rm -fr site/
.PHONY: clean-pyc
clean-pyc:
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +
find . -name '__pycache__' -exec rm -fr {} +
find . -name '.DS_Store' -exec rm -fr {} +
.PHONY: clean-test
clean-test:
rm -fr .tox/
rm -f .coverage
find . -name ".coverage*" -not -name ".coveragerc" -exec rm -fr "{}" \;
rm -fr coverage.xml
rm -fr htmlcov/
rm -fr .hypothesis
rm -fr .pytest_cache
rm -fr .mypy_cache/
rm -fr .hypothesis/
find . -name 'log.txt' -exec rm -fr {} +
find . -name 'log.*.txt' -exec rm -fr {} +
# isort: fix import orders
# black: format files according to the pep standards
.PHONY: formatters
formatters:
tomte format-code
# black-check: check code style
# isort-check: check for import order
# flake8: wrapper around various code checks, https://flake8.pycqa.org/en/latest/user/error-codes.html
# mypy: static type checker
# pylint: code analysis for code smells and refactoring suggestions
# darglint: docstring linter
.PHONY: code-checks
code-checks:
tomte check-code
# safety: checks dependencies for known security vulnerabilities
# bandit: security linter
.PHONY: security
security:
tomte check-security
gitleaks detect --report-format json --report-path leak_report
# generate latest hashes for updated packages
# generate docs for updated packages
# update copyright headers
.PHONY: generators
generators:
tox -e abci-docstrings
tomte format-copyright --author author_name
autonomy packages lock
.PHONY: common-checks-1
common-checks-1:
tomte check-copyright --author author_name
tomte check-doc-links
tox -p -e check-hash -e check-packages -e check-doc-hashes
.PHONY: fix-abci-app-specs
fix-abci-app-specs:
export PYTHONPATH=${PYTHONPATH}:${PWD}
autonomy analyse fsm-specs --update --app-class MemeooorrAbciApp --package packages/dvilela/skills/memeooorr_abci/ || (echo "Failed to check memeooorr_abci abci consistency" && exit 1)
autonomy analyse fsm-specs --update --app-class MemeooorrChainedSkillAbciApp --package packages/dvilela/skills/memeooorr_chained_abci/ || (echo "Failed to check memeooorr_chained_abci abci consistency" && exit 1)
.PHONY: tm
tm:
rm -r ~/.tendermint
tendermint init
tendermint node --proxy_app=tcp://127.0.0.1:26658 --rpc.laddr=tcp://127.0.0.1:26657 --p2p.laddr=tcp://0.0.0.0:26656 --p2p.seeds= --consensus.create_empty_blocks=true
.PHONY: all-linters
all-linters:
gitleaks detect --report-format json --report-path leak_report
tox -e spell-check
tox -e liccheck
tox -e check-doc-hashes
tox -e bandit
tox -e safety
tox -e check-packages
tox -e check-abciapp-specs
tox -e check-hash
tox -e black-check
tox -e isort-check
tox -e flake8
tox -e darglint
tox -e pylint
tox -e mypy
.PHONY: push-image
push-image:
@AGENT_HASH=$$(jq -r ".dev[\"agent/dvilela/memeooorr/0.1.0\"]" packages/packages.json) && \
SERVICE_HASH=$$(jq -r ".dev[\"service/dvilela/memeooorr/0.1.0\"]" packages/packages.json) && \
IMAGE_ID=$$(docker image ls | awk -v tag="$$AGENT_HASH" '$$2 == tag {print $$3}' | head -n 1) && \
echo "Tagging image $$IMAGE_ID -> valory/oar-memeooorr:$$AGENT_HASH" && \
docker tag $$IMAGE_ID valory/oar-memeooorr:$$AGENT_HASH && \
docker push valory/oar-memeooorr:$$AGENT_HASH
.PHONY: publish
publish:
bash build_image.sh
make push-image
.PHONY: deploy-contracts
deploy-contracts:
npx hardhat run scripts/deployment/deploy_01_meme_base.js --network base
.PHONY: bump-packages
bump-packages:
@AUTONOMY_VERSION=$$(poetry show open-autonomy | grep version | cut -d':' -f2 | xargs) && \
AEA_VERSION=$$(poetry show open-aea | grep version | cut -d':' -f2 | xargs) && \
echo "Bumping packages to open-autonomy $${AUTONOMY_VERSION}" && \
echo "Bumping packages to open-aea $${AEA_VERSION}" && \
autonomy packages sync --source valory-xyz/open-autonomy:v$${AUTONOMY_VERSION} --source valory-xyz/open-aea:v$${AEA_VERSION} --update-packages
v := $(shell pip -V | grep virtualenvs)