Skip to content

Commit ae5c85e

Browse files
committed
github: Update build.yml to use analyze-project and test oldest/newest Python versions
1 parent 8aaccf1 commit ae5c85e

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

.github/workflows/build.yml

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ jobs:
77
build:
88
name: Build
99
runs-on:
10-
- ubuntu-latest
10+
- ${{ matrix.os }}
11+
strategy:
12+
matrix:
13+
os: [ubuntu-latest, windows-latest]
14+
python-version: ["3.9", "3.14"] # oldest supported and latest tested
1115
steps:
1216
- name: Check out repo
1317
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -17,28 +21,17 @@ jobs:
1721
uses: ni/python-actions/setup-python@9768589f3e50672173dad75a6fc181e4a85d33fa # v0.7.0
1822
id: setup-python
1923
with:
20-
# The codegen scripts require Python 3.10 or later.
21-
python-version: "3.10"
24+
python-version: ${{ matrix.python-version }}
2225
- name: Set up Poetry
2326
uses: ni/python-actions/setup-poetry@9768589f3e50672173dad75a6fc181e4a85d33fa # v0.7.0
24-
- name: Cache virtualenv (all extras)
25-
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
27+
- name: Run linters and type checkers
28+
uses: ni/python-actions/analyze-project@9768589f3e50672173dad75a6fc181e4a85d33fa # v0.7.0
2629
with:
27-
path: .venv
28-
key: nidaqmx-all-extras-and-examples-${{ runner.os }}-py${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('poetry.lock') }}
29-
- name: Install dependencies
30-
run: |
31-
python -m pip install --upgrade pip
32-
poetry install --all-extras --with examples
33-
- name: Run linters
34-
run: poetry run ni-python-styleguide lint
35-
- name: Run mypy (Linux)
36-
run: poetry run mypy
37-
- name: Run mypy (Windows)
38-
run: poetry run mypy --platform win32
30+
install-args: "--all-extras --with examples"
3931
- name: Run Bandit security checks
4032
run: poetry run bandit -c pyproject.toml -r generated/nidaqmx
4133
- name: Generate ni-daqmx files
34+
if: ${{ matrix.python-version == '3.9' }} # oldest supported
4235
run: |
4336
rm -fr generated/nidaqmx
4437
poetry run python src/codegen --dest generated/nidaqmx

0 commit comments

Comments
 (0)