Skip to content

Commit 710094d

Browse files
Add optional base_directory to run mypy
1 parent 1f6fc1c commit 710094d

File tree

1 file changed

+37
-7
lines changed

1 file changed

+37
-7
lines changed

.github/workflows/reusable_python_checks.yml

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ on:
2323
required: false
2424
default: ''
2525
type: string
26+
base_directory:
27+
description: "The base directory to go before runing mypy"
28+
required: false
29+
default: ''
30+
type: string
2631
setup_directory:
2732
description: "The directory containing the setup.cfg (if any)"
2833
required: false
@@ -40,14 +45,17 @@ jobs:
4045
if: ${{ inputs.run_linter == 'pylint' }}
4146
runs-on: ubuntu-latest
4247
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+
4354
- name: Clone
4455
uses: actions/checkout@v4
4556

4657
- name: Installing PIP dependencies
4758
run: |
48-
if [ -n "${{ inputs.additional_packages }}" ]; then
49-
sudo apt-get update && sudo apt-get install -y ${{ inputs.additional_packages }}
50-
fi
5159
pip install pylint
5260
if [ -n "${{ inputs.req_directory }}" ] && [ -f "${{ inputs.req_directory }}/requirements.txt" ]; then
5361
pip install -r ${{ inputs.req_directory }}/requirements.txt
@@ -56,8 +64,11 @@ jobs:
5664
- name: Lint Python code
5765
run: |
5866
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")
6172
fi
6273
pylint "${ARGS[@]}" ${{ inputs.src_directory }}
6374
@@ -66,6 +77,12 @@ jobs:
6677
if: ${{ inputs.run_linter == 'flake8' }}
6778
runs-on: ubuntu-latest
6879
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+
6986
- name: Clone
7087
uses: actions/checkout@v4
7188

@@ -78,13 +95,22 @@ jobs:
7895
7996
- name: Lint Python code
8097
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 }}
82102
83103
mypy:
84104
name: Type checking
85105
if: ${{ inputs.run_type_check == true }}
86106
runs-on: ubuntu-latest
87107
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+
88114
- name: Clone
89115
uses: actions/checkout@v4
90116

@@ -96,4 +122,8 @@ jobs:
96122
fi
97123
98124
- 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

Comments
 (0)