Skip to content

Commit 9c6acc3

Browse files
authored
Run pylint for all python versions. (#1554)
1 parent ecbe96b commit 9c6acc3

File tree

1 file changed

+52
-48
lines changed

1 file changed

+52
-48
lines changed

.github/workflows/ci.yml

Lines changed: 52 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -17,68 +17,72 @@ on:
1717

1818

1919
jobs:
20+
linters:
21+
name: Linters
22+
runs-on: ubuntu-latest
23+
timeout-minutes: 10
24+
strategy:
25+
fail-fast: false
26+
steps:
27+
- name: Checkout repository
28+
uses: actions/checkout@v3
29+
30+
- name: Set up python
31+
uses: actions/setup-python@v4
32+
with:
33+
python-version: 3.8
34+
35+
- name: venv restore
36+
id: cache-venv
37+
uses: syphar/restore-virtualenv@v1
38+
with:
39+
requirement_files: requirements.txt
40+
41+
- name: venv create
42+
if: steps.cache-venv.outputs.cache-hit != 'true'
43+
run: pip install -e . -r requirements.txt
44+
45+
- name: codespell
46+
run: codespell
47+
48+
- name: pylint
49+
run: pylint --recursive=y examples pymodbus test
50+
51+
- name: precommit (black, bandit, and ruff)
52+
run: pre-commit run --all-files
53+
54+
- name: docs
55+
run: make -C doc/ html
56+
57+
- name: mypy
58+
run: mypy pymodbus
59+
60+
2061
integreation_test:
21-
name: ${{ matrix.task.name }} - ${{ matrix.os.on }} - ${{ matrix.python.version }}
62+
name: pytest - ${{ matrix.os.on }} - ${{ matrix.python.version }}
2263
runs-on: ${{ matrix.os.on }}
64+
needs: linters
2365
timeout-minutes: 10
2466
strategy:
2567
fail-fast: false
2668
matrix:
27-
task:
28-
- name: pylint
29-
cmd: pylint --recursive=y examples pymodbus test
30-
type: lint
31-
- name: codespell
32-
cmd: codespell
33-
type: lint
34-
- name: precommit (black, bandit, and ruff)
35-
cmd: pre-commit run --all-files
36-
type: lint
37-
- name: docs
38-
cmd: make -C doc/ html
39-
type: lint
40-
- name: mypy
41-
cmd: mypy pymodbus
42-
type: lint
43-
- name: pytest
44-
cmd: pytest --cov=pymodbus --cov=test --cov-report=term-missing --cov-report=xml -v --full-trace --timeout=20
45-
type: test
4669
os:
47-
- name: Linux
48-
on: ubuntu-latest
49-
lint: 'yes'
50-
- name: Macos
51-
on: macos-latest
52-
lint: 'no'
53-
- name: Windows
54-
on: windows-latest
55-
lint: 'no'
70+
- on: ubuntu-latest
71+
- on: macos-latest
72+
- on: windows-latest
5673
python:
5774
- version: '3.8'
58-
lint: 'yes'
5975
- version: '3.9'
60-
lint: 'no'
6176
- version: '3.10'
62-
lint: 'no'
6377
- version: '3.11'
64-
lint: 'no'
6578
- version: pypy-3.8
66-
lint: 'no'
6779
exclude:
68-
- task:
69-
type: lint
70-
os:
71-
lint: 'no'
72-
- task:
73-
type: lint
74-
python:
75-
lint: 'no'
7680
- os:
77-
name: Macos
81+
on: macos-latest
7882
python:
7983
version: pypy-3.8
8084
- os:
81-
name: Windows
85+
on: windows-latest
8286
python:
8387
version: pypy-3.8
8488
steps:
@@ -100,8 +104,8 @@ jobs:
100104
if: steps.cache-venv.outputs.cache-hit != 'true'
101105
run: pip install -e . -r requirements.txt
102106

103-
- name: test/lint
104-
run: ${{ matrix.task.cmd }}
107+
- name: pytest
108+
run: pytest --cov=pymodbus --cov=test --cov-report=term-missing --cov-report=xml -v --full-trace --timeout=20
105109

106110
ci_complete:
107111
name: ci_complete
@@ -110,5 +114,5 @@ jobs:
110114
- integreation_test
111115
timeout-minutes: 1
112116
steps:
113-
- name: Check out code from GitHub
114-
uses: actions/[email protected]
117+
- name: Dummy
118+
run: ls

0 commit comments

Comments
 (0)