Skip to content

Commit 6044b50

Browse files
authored
test: add pymmcore-nano configuration for Windows and macOS in CI workflow (#507)
* test: add nano configuration for Windows and macOS in CI workflow * fix cov * test: add installation step for pymmcore-nano in CI workflow * remove duplicate
1 parent 10f2b97 commit 6044b50

1 file changed

Lines changed: 19 additions & 14 deletions

File tree

.github/workflows/ci.yml

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- run: uvx check-manifest
2424

2525
test:
26-
name: ${{ matrix.os }} py${{ matrix.python-version }} ${{ matrix.backend }} ${{ matrix.resolution }}
26+
name: ${{ matrix.os }} py${{ matrix.python-version }} ${{ matrix.backend }} ${{ matrix.resolution }} ${{ matrix.nano && 'nano' || '' }}
2727
runs-on: ${{ matrix.os }}
2828
env:
2929
UV_NO_SYNC: "1"
@@ -35,6 +35,7 @@ jobs:
3535
python-version: ["3.10", "3.14"]
3636
backend: [PySide6, PyQt6]
3737
resolution: ["highest", "lowest-direct"]
38+
nano: [false]
3839
exclude:
3940
- os: macos-latest
4041
resolution: lowest-direct
@@ -48,6 +49,11 @@ jobs:
4849
- os: windows-latest
4950
python-version: "3.13"
5051
backend: PyQt6
52+
nano: true
53+
- os: macos-latest
54+
python-version: "3.13"
55+
backend: PySide6
56+
nano: true
5157

5258
steps:
5359
- uses: actions/checkout@v6
@@ -57,12 +63,19 @@ jobs:
5763
python-version: ${{ matrix.python-version }}
5864
enable-cache: true
5965

60-
- uses: pymmcore-plus/setup-mm-test-adapters@main
6166
- uses: pyvista/setup-headless-display-action@v4
6267

6368
- name: Install dependencies
6469
run: uv sync --no-dev --group test --extra ${{ matrix.backend }}
6570

71+
- if: matrix.nano == 'true'
72+
name: Install pymmcore-nano
73+
run: |
74+
uv pip uninstall pymmcore
75+
uv pip install pymmcore-nano
76+
77+
- uses: pymmcore-plus/setup-mm-test-adapters@main
78+
6679
- name: Test
6780
run: uv run coverage run -p -m pytest -v --color=yes
6881
env:
@@ -71,7 +84,7 @@ jobs:
7184
- name: Upload coverage
7285
uses: actions/upload-artifact@v6
7386
with:
74-
name: covreport-${{ matrix.os }}-py${{ matrix.python-version }}-${{ matrix.backend }}-${{ matrix.resolution }}
87+
name: covreport-${{ matrix.os }}-py${{ matrix.python-version }}-${{ matrix.backend }}-${{ matrix.resolution }}-${{ matrix.nano && 'nano' || 'standard' }}
7588
path: ./.coverage*
7689
include-hidden-files: true
7790

@@ -109,16 +122,7 @@ jobs:
109122
uv sync
110123
uv pip install ./pymmcore-widgets
111124
112-
- name: Get pymmcore version (env)
113-
shell: bash
114-
run: |
115-
ver=$(uv run python -c 'from pymmcore_plus import _pymmcore;print(_pymmcore.version_info.device_interface)')
116-
echo "PYMM_VERSION=$ver" >> $GITHUB_ENV
117-
118-
- name: Setup MM test adapters
119-
uses: pymmcore-plus/setup-mm-test-adapters@main
120-
with:
121-
version: ${{ env.PYMM_VERSION }}
125+
- uses: pymmcore-plus/setup-mm-test-adapters@main
122126

123127
- name: Run pymmcore-gui tests
124128
run: uv run pytest -v --color=yes -W ignore
@@ -142,7 +146,6 @@ jobs:
142146
with:
143147
python-version: "3.11"
144148

145-
- uses: pymmcore-plus/setup-mm-test-adapters@main
146149
- uses: pyvista/setup-headless-display-action@v4
147150

148151
- name: Install dependencies
@@ -151,6 +154,8 @@ jobs:
151154
python -m pip install -e ./pymmcore-widgets[PyQt6]
152155
python -m pip install -e ./napari-micromanager[test]
153156
157+
- uses: pymmcore-plus/setup-mm-test-adapters@main
158+
154159
- name: Run napari-micromanager tests
155160
run: python -m pytest -v --color=yes -W ignore
156161
working-directory: napari-micromanager

0 commit comments

Comments
 (0)