-
Notifications
You must be signed in to change notification settings - Fork 2.4k
/
Copy pathMakefile
executable file
·68 lines (52 loc) · 2.08 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
target:
$(info ${HELP_MESSAGE})
@exit 0
init:
pip install -e '.[dev]'
test:
AWS_DEFAULT_REGION=us-east-1 pytest --cov samtranslator --cov-report term-missing --cov-fail-under 95 -n auto tests/*
test-fast:
pytest -x --cov samtranslator --cov-report term-missing --cov-fail-under 95 -n auto tests/*
test-cov-report:
pytest --cov samtranslator --cov-report term-missing --cov-report html --cov-fail-under 95 tests/*
integ-test:
pytest --no-cov integration/*
black:
black setup.py samtranslator/* tests/* integration/* bin/*.py
bin/json-format.py --write tests integration
bin/yaml-format.py --write tests
bin/yaml-format.py --write integration --add-test-metadata
black-check:
# Checking latest schema was generated (run `make schema` if this fails)
python samtranslator/schema/schema.py > .tmp_schema.json
diff -u samtranslator/schema/schema.json .tmp_schema.json
rm .tmp_schema.json
black --check setup.py samtranslator/* tests/* integration/* bin/*.py
bin/json-format.py --check tests integration
bin/yaml-format.py --check tests
bin/yaml-format.py --check integration --add-test-metadata
lint:
# mypy performs type check
mypy --strict samtranslator bin
# Linter performs static analysis to catch latent bugs
pylint --rcfile .pylintrc samtranslator
# cfn-lint to make sure generated CloudFormation makes sense
bin/run_cfn_lint.sh
prepare-companion-stack:
pytest -v --no-cov integration/setup -m setup
schema:
python samtranslator/schema/schema.py > samtranslator/schema/schema.json
# Command to run everytime you make changes to verify everything works
dev: test
# Verifications to run before sending a pull request
pr: black-check lint init dev
define HELP_MESSAGE
Usage: $ make [TARGETS]
TARGETS
init Initialize and install the requirements and dev-requirements for this project.
test Run the Unit tests.
integ-test Run the Integration tests.
dev Run all development tests after a change.
pr Perform all checks before submitting a Pull Request.
prepare-companion-stack Create or update the companion stack for running integration tests.
endef