17
17
pre-commit :
18
18
name : Rerun pre-commit checks
19
19
runs-on : ubuntu-latest
20
+ outputs :
21
+ dist-base : ${{ steps.paths.outputs.dist }}
22
+ docs-base : ${{ steps.paths.outputs.docs }}
20
23
steps :
21
24
- name : Check out repo
22
25
uses : actions/checkout@v4
26
29
python-version : ' 3.12'
27
30
- name : Run pre-commit hooks
28
31
uses :
pre-commit/[email protected]
32
+ - name : Define artifact paths
33
+ id : paths
34
+ run : |
35
+ suffix="$GITHUB_RUN_NUMBER-$(echo $GITHUB_SHA | cut -c-10)"
36
+ echo "dist=openslide-python-dist-$suffix" >> $GITHUB_OUTPUT
37
+ echo "docs=openslide-python-docs-$suffix" >> $GITHUB_OUTPUT
29
38
30
39
tests :
31
40
name : Tests
@@ -106,27 +115,25 @@ jobs:
106
115
exit 1
107
116
fi
108
117
esac
109
- basename=openslide-python-dist-$GITHUB_RUN_NUMBER-$(echo $GITHUB_SHA | cut -c-10)
110
- mkdir -p "artifacts/${basename}"
111
- mv dist/* "artifacts/${basename}"
112
- echo "basename=${basename}" >> $GITHUB_ENV
118
+ mkdir -p "artifacts/${{ needs.pre-commit.outputs.dist-base }}"
119
+ mv dist/* "artifacts/${{ needs.pre-commit.outputs.dist-base }}"
113
120
# save version-specific wheels and oldest abi3 wheel
114
121
python -c 'import sys
115
122
if sys.version_info < (3, 12): print("archive_wheel=1")' >> $GITHUB_ENV
116
123
- name : Install
117
- run : pip install artifacts/${basename }/*.whl
124
+ run : pip install artifacts/${{ needs.pre-commit.outputs.dist-base } }/*.whl
118
125
- name : Run tests
119
126
run : pytest -v
120
127
- name : Tile slide
121
128
run : python examples/deepzoom/deepzoom_tile.py --viewer -o tiled tests/fixtures/small.svs
122
129
- name : Remove wheel from upload
123
130
if : matrix.sdist && ! env.archive_wheel
124
- run : rm artifacts/$basename /*.whl
131
+ run : rm artifacts/${{ needs.pre-commit.outputs.dist-base }} /*.whl
125
132
- name : Archive dist
126
133
if : matrix.sdist || env.archive_wheel
127
134
uses : actions/upload-artifact@v3
128
135
with :
129
- name : ${{ env.basename }}
136
+ name : ${{ needs.pre-commit.outputs.dist-base }}
130
137
path : artifacts
131
138
132
139
windows :
@@ -163,15 +170,13 @@ jobs:
163
170
- name : Build wheel
164
171
run : |
165
172
python -m build -w
166
- basename=openslide-python-dist-$GITHUB_RUN_NUMBER-$(echo $GITHUB_SHA | cut -c-10)
167
- mkdir -p "artifacts/${basename}"
168
- mv dist/*.whl "artifacts/${basename}"
169
- echo "basename=${basename}" >> $GITHUB_ENV
173
+ mkdir -p "artifacts/${{ needs.pre-commit.outputs.dist-base }}"
174
+ mv dist/*.whl "artifacts/${{ needs.pre-commit.outputs.dist-base }}"
170
175
# save version-specific wheels and oldest abi3 wheel
171
176
python -c 'import sys
172
177
if sys.version_info < (3, 12): print("archive_wheel=1")' >> $GITHUB_ENV
173
178
- name : Install
174
- run : pip install artifacts/${basename }/*.whl
179
+ run : pip install artifacts/${{ needs.pre-commit.outputs.dist-base } }/*.whl
175
180
- name : Run tests
176
181
# Reads OPENSLIDE_PATH
177
182
run : pytest -v
@@ -188,7 +193,7 @@ jobs:
188
193
if : env.archive_wheel
189
194
uses : actions/upload-artifact@v3
190
195
with :
191
- name : ${{ env.basename }}
196
+ name : ${{ needs.pre-commit.outputs.dist-base }}
192
197
path : artifacts
193
198
194
199
docs :
@@ -207,12 +212,9 @@ jobs:
207
212
python -m pip install --upgrade pip
208
213
pip install sphinx
209
214
- name : Build
210
- run : |
211
- basename=openslide-python-docs-$GITHUB_RUN_NUMBER-$(echo $GITHUB_SHA | cut -c-10)
212
- sphinx-build -d doctrees doc artifact/${basename}
213
- echo "basename=${basename}" >> $GITHUB_ENV
215
+ run : sphinx-build -d doctrees doc artifact/${{ needs.pre-commit.outputs.docs-base }}
214
216
- name : Archive
215
217
uses : actions/upload-artifact@v3
216
218
with :
217
- name : ${{ env.basename }}
219
+ name : ${{ needs.pre-commit.outputs.docs-base }}
218
220
path : artifact
0 commit comments