-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathrun_ci_jobs_locally.sh
executable file
·102 lines (83 loc) · 2.01 KB
/
run_ci_jobs_locally.sh
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
#!/bin/bash
PWD=`pwd`
run_black () {
echo "***** RUN black *****"
python -m black *.py collectives migrations tests
}
run_linter () {
echo " ***** RUN linter *****"
find collectives tests -name "*.py" -type f -print0 | xargs -0 pylint config.py
}
exec_tests () {
echo " ***** EXEC Tests*****"
pytest --cov=collectives tests/ --cov-fail-under=60
}
build_html_doc () {
echo " ***** BUILD Doc in $PWD/doc *****"
cd $PWD/doc && make html
}
check_doc_coverage_side_folders () {
echo " ***** CHECK Doc coverage for side folders *****"
cd $PWD && docstr-coverage . -e ".env|migrations|instance|doc" -F 73
}
check_doc_coverage_models () {
echo " ***** CHECK doc coverage on Models *****"
cd $PWD && docstr-coverage collectives/models
}
check_doc_coverage_utils () {
echo " ***** CHECK doc coverage on Uils *****"
cd $PWD && docstr-coverage collectives/utils
}
check_doc_coverage_apis () {
echo " ***** CHECK doc coverage on API *****"
cd $PWD && docstr-coverage collectives/api
}
check_doc_coverage_routes () {
echo " ***** CHECK doc coverage on Routes *****"
cd $PWD && docstr-coverage collectives/routes
}
# catch first arguments with $1
case "$1" in
-b|--black)
run_black
;;
-l|--linter)
run_linter
;;
-t|--tests)
exec_tests
;;
-h|--html)
build_html_doc
;;
-dc|--doc-coverage)
check_doc_coverage_side_folders
;;
-dm|--doc-coverage-models)
check_doc_coverage_models
;;
-du|--doc-coverage-utils)
check_doc_coverage_utils
;;
-da|--doc-coverage-api)
check_doc_coverage_apis
;;
-dr|--doc-coverage-routes)
check_doc_coverage_routes
;;
-a|--all)
echo " ***** RUN ALL JOBS *****"
run_black
run_linter
exec_tests
check_doc_coverage_apis
check_doc_coverage_models
check_doc_coverage_routes
check_doc_coverage_side_folders
check_doc_coverage_utils
build_html_doc
;;
*)
echo "Usage: (-b|--black -l|--linter -t|--tests -h|--html -dc|--doc-coverage -dm|--doc-coverage-models -du|--doc-coverage-utils -da|--doc-coverage-api -dr|--doc-coverage-routes -a|--all)"
;;
esac