2626 runs-on : ubuntu-latest
2727 strategy :
2828 matrix :
29- python-version : ['3.8', '3.9', '3.10', '3.11', '3.12']
29+ python-version : ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13' ]
3030 steps :
3131 - uses : actions/checkout@v4
3232 - name : Install Conda environment with Micromamba
6868 runs-on : ubuntu-latest
6969 strategy :
7070 matrix :
71- python-version : ['3.8', '3.12']
71+ python-version : ['3.8', '3.13']
72+ include :
73+ - python-version : ' 3.13'
74+ is-dev-version : true
7275 steps :
7376 - uses : actions/checkout@v4
7477 - name : Install Conda environment with Micromamba
@@ -109,33 +112,69 @@ jobs:
109112 run : pytest --disable-pytest-warnings
110113 env :
111114 BIOIMAGEIO_CACHE_PATH : bioimageio_cache
112- - if : matrix.python- version == '3.12' && github.event_name == 'pull_request'
115+ - if : matrix.is-dev- version && github.event_name == 'pull_request'
113116114117 with :
115118 coverageFile : coverage.xml
116119 token : ${{ secrets.GITHUB_TOKEN }}
117- - if : matrix.python- version == '3.12' && github.ref == 'refs/heads/main'
120+ - if : matrix.is-dev- version && github.ref == 'refs/heads/main'
118121 run : |
119122 pip install genbadge[coverage]
120123 genbadge coverage --input-file coverage.xml --output-file ./dist/coverage/coverage-badge.svg
121124 coverage html -d dist/coverage
122- - if : matrix.python- version == '3.12' && github.ref == 'refs/heads/main'
125+ - if : matrix.is-dev- version && github.ref == 'refs/heads/main'
123126 uses : actions/upload-artifact@v4
124127 with :
125128 name : coverage
126129 retention-days : 1
127130 path : dist
128131
129132
130- test-tf :
133+ test-spec-main- tf :
131134 runs-on : ubuntu-latest
132135 strategy :
133136 matrix :
134- python-version : ['3.9 ', '3.11 ']
137+ python-version : ['3.8 ', '3.13 ']
135138 steps :
136139 - uses : actions/checkout@v4
137- - name : Install Conda environment with Micromamba
138- uses : mamba-org/setup-micromamba@v1
140+ - uses : mamba-org/setup-micromamba@v1
141+ with :
142+ cache-downloads : true
143+ cache-environment : true
144+ environment-file : dev/env-tf.yaml
145+ condarc : |
146+ channel-priority: flexible
147+ create-args : >-
148+ python=${{ matrix.python-version }}
149+ post-cleanup : ' all'
150+ - name : additional setup spec
151+ run : |
152+ conda remove --yes --force bioimageio.spec || true # allow failure for cached env
153+ pip install --no-deps git+https://github.com/bioimage-io/spec-bioimage-io
154+ - name : additional setup core
155+ run : pip install --no-deps -e .
156+ - name : Get Date
157+ id : get-date
158+ run : |
159+ echo "date=$(date +'%Y-%b')"
160+ echo "date=$(date +'%Y-%b')" >> $GITHUB_OUTPUT
161+ shell : bash
162+ - uses : actions/cache@v4
163+ with :
164+ path : bioimageio_cache
165+ key : " test-spec-main-tf-${{ steps.get-date.outputs.date }}"
166+ - run : pytest --disable-pytest-warnings
167+ env :
168+ BIOIMAGEIO_CACHE_PATH : bioimageio_cache
169+
170+ test-spec-conda-tf :
171+ runs-on : ubuntu-latest
172+ strategy :
173+ matrix :
174+ python-version : ['3.9', '3.13']
175+ steps :
176+ - uses : actions/checkout@v4
177+ - uses : mamba-org/setup-micromamba@v1
139178 with :
140179 cache-downloads : true
141180 cache-environment : true
@@ -156,7 +195,7 @@ jobs:
156195 - uses : actions/cache@v4
157196 with :
158197 path : bioimageio_cache
159- key : " test-tf-${{ steps.get-date.outputs.date }}"
198+ key : " test-spec-conda- tf-${{ steps.get-date.outputs.date }}"
160199 - name : pytest-spec-tf
161200 run : pytest --disable-pytest-warnings
162201 env :
@@ -200,7 +239,7 @@ jobs:
200239 path : dist
201240 - uses : actions/setup-python@v5
202241 with :
203- python-version : ' 3.12 '
242+ python-version : ' 3.13 '
204243 cache : ' pip'
205244 - run : pip install -e .[dev]
206245 - name : Generate developer docs
0 commit comments