-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
47 lines (35 loc) · 1.13 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
default: help
#❓ help: @ Displays this message
help:
@grep -E '[a-zA-Z\.\-]+:.*?@ .*$$' $(firstword $(MAKEFILE_LIST))| tr -d '#' | awk 'BEGIN {FS = ":.*?@ "}; {printf "\033[32m%-30s\033[0m %s\n", $$1, $$2}'
#🔍 check: @ Runs all code verifications
check:
@${MAKE} lint.ci dialyzer test
#🔍 dialyzer: @ Runs a static code analysis
dialyzer:
@mix dialyzer --format dialyxir
#🔍 dialyzer.plt: @ Force PLT check also if lock file is unchanged useful when dealing with local deps.
dialyzer.plt:
@mix dialyzer --force-check
#🔍 lint: @ Runs a code formatter
lint:
@mix format
@mix credo --strict
#🔍 lint.ci: @ Strictly runs a code formatter
lint.ci:
@mix format --check-formatted
@mix credo --strict
#📖 docs: @ Generates HTML documentation
docs:
@mix docs
#🧪 test.all: @ Runs all test suites
test.all:
@MIX_ENV=test mix test
#🧪 test.cover: @ Runs mix tests and generates coverage
test.cover:
@MIX_ENV=test mix coveralls.html
coverall.post:
@MIX_ENV=test mix coveralls.post --token ${{ secrets.SECRET_TOKEN }} --branch "main"
#🧪 test.wip: @ Runs test suites that match the wip tag
test.wip:
@mix test --only wip