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"
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
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 :
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