23
23
required : false
24
24
default : ' '
25
25
type : string
26
+ base_directory :
27
+ description : " The base directory to go before runing mypy"
28
+ required : false
29
+ default : ' '
30
+ type : string
26
31
setup_directory :
27
32
description : " The directory containing the setup.cfg (if any)"
28
33
required : false
@@ -40,14 +45,17 @@ jobs:
40
45
if : ${{ inputs.run_linter == 'pylint' }}
41
46
runs-on : ubuntu-latest
42
47
steps :
48
+ - name : Installing requiered packages
49
+ run : |
50
+ if [ -n "${{ inputs.additional_packages }}" ]; then
51
+ sudo apt-get update && sudo apt-get install -y ${{ inputs.additional_packages }}
52
+ fi
53
+
43
54
- name : Clone
44
55
uses : actions/checkout@v4
45
56
46
57
- name : Installing PIP dependencies
47
58
run : |
48
- if [ -n "${{ inputs.additional_packages }}" ]; then
49
- sudo apt-get update && sudo apt-get install -y ${{ inputs.additional_packages }}
50
- fi
51
59
pip install pylint
52
60
if [ -n "${{ inputs.req_directory }}" ] && [ -f "${{ inputs.req_directory }}/requirements.txt" ]; then
53
61
pip install -r ${{ inputs.req_directory }}/requirements.txt
56
64
- name : Lint Python code
57
65
run : |
58
66
ARGS=(-j 0)
59
- if [ -n "${{ inputs.setup_directory }}" ] && [ -f "${{ inputs.setup_directory }}/setup.cfg" ]; then
60
- ARGS+=(--rcfile "${{ inputs.setup_directory }}/setup.cfg")
67
+ if [ -n "${{ inputs.setup_directory }}" ]; then
68
+ cd ${{ inputs.setup_directory }}
69
+ fi
70
+ if [ -f "./setup.cfg" ]; then
71
+ ARGS+=(--rcfile "./setup.cfg")
61
72
fi
62
73
pylint "${ARGS[@]}" ${{ inputs.src_directory }}
63
74
66
77
if : ${{ inputs.run_linter == 'flake8' }}
67
78
runs-on : ubuntu-latest
68
79
steps :
80
+ - name : Installing requiered packages
81
+ run : |
82
+ if [ -n "${{ inputs.additional_packages }}" ]; then
83
+ sudo apt-get update && sudo apt-get install -y ${{ inputs.additional_packages }}
84
+ fi
85
+
69
86
- name : Clone
70
87
uses : actions/checkout@v4
71
88
@@ -78,13 +95,22 @@ jobs:
78
95
79
96
- name : Lint Python code
80
97
run : |
81
- cd ${{ inputs.setup_directory }} && flake8 ${{ inputs.src_directory }}
98
+ if [ -n "${{ inputs.setup_directory }}" ]; then
99
+ cd ${{ inputs.setup_directory }}
100
+ fi
101
+ flake8 ${{ inputs.src_directory }}
82
102
83
103
mypy :
84
104
name : Type checking
85
105
if : ${{ inputs.run_type_check == true }}
86
106
runs-on : ubuntu-latest
87
107
steps :
108
+ - name : Installing requiered packages
109
+ run : |
110
+ if [ -n "${{ inputs.additional_packages }}" ]; then
111
+ sudo apt-get update && sudo apt-get install -y ${{ inputs.additional_packages }}
112
+ fi
113
+
88
114
- name : Clone
89
115
uses : actions/checkout@v4
90
116
96
122
fi
97
123
98
124
- name : Mypy type checking
99
- run : mypy ${{ inputs.src_directory }}
125
+ run : |
126
+ if [ -n "${{ inputs.setup_directory }}" ]; then
127
+ cd ${{ inputs.setup_directory }}
128
+ fi
129
+ mypy ${{ inputs.src_directory }}
0 commit comments