1818
1919jobs :
2020 linters :
21- name : Linters
22- runs-on : ubuntu-latest
21+ name : Linters - ${{ matrix.os.on }} - ${{ matrix.python.version }}
22+ runs-on : ${{ matrix.os.on }}
2323 timeout-minutes : 10
2424 strategy :
2525 fail-fast : false
26+ matrix :
27+ os :
28+ - on : ubuntu-latest
29+ # - on: macos-latest
30+ # - on: windows-latest
31+ python :
32+ - version : ' 3.8'
33+ - version : ' 3.9'
34+ - version : ' 3.10'
35+ - version : ' 3.11'
2636 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
37+ - uses : actions/checkout@v3
38+ - uses : actions/setup-python@v4
3839 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 : cd doc; ./build_html
56-
57- - name : mypy
58- run : mypy pymodbus
59-
40+ python-version : ${{ matrix.python.version }}
41+ cache : ' pip'
42+ - run : pip install -e . -r requirements.txt
43+ - run : codespell
44+ - run : pylint --recursive=y examples pymodbus test
45+ - run : pre-commit run --all-files
46+ - run : cd doc; ./build_html
47+ - run : mypy pymodbus
6048
6149 integreation_test :
6250 name : pytest - ${{ matrix.os.on }} - ${{ matrix.python.version }}
@@ -75,40 +63,25 @@ jobs:
7563 - version : ' 3.10'
7664 - version : ' 3.11'
7765 steps :
78- - name : Checkout repository
79- uses : actions/checkout@v3
80-
81- - name : Set up ${{ matrix.python.version }}
82- uses : actions/setup-python@v4
66+ - uses : actions/checkout@v3
67+ - uses : actions/setup-python@v4
8368 with :
8469 python-version : ${{ matrix.python.version }}
70+ cache : ' pip'
71+ - run : pip install -e . -r requirements.txt
8572
86- - name : venv restore
87- id : cache-venv
88- uses : syphar/restore-virtualenv@v1
89- with :
90- requirement_files : requirements.txt
91-
92- - name : venv create
93- if : steps.cache-venv.outputs.cache-hit != 'true'
94- run : pip install -e . -r requirements.txt
95-
96- - name : pytest
97- run : pytest -n0 -v --full-trace --timeout=1200
73+ - run : pytest -n0 -v --full-trace --timeout=1200
9874
9975 analyze :
10076 name : Analyze Python
10177 runs-on : ubuntu-22.04
10278
10379 steps :
10480 - uses : actions/checkout@v3
105-
10681 - uses : github/codeql-action/init@v2
10782 with :
10883 languages : python
109-
11084 - uses : github/codeql-action/autobuild@v2
111-
11285 - uses : github/codeql-action/analyze@v2
11386
11487 ci_complete :
0 commit comments