8686 python-version : ' 3.9' # use python3.9, self-hosted has an issue with 3.10
8787
8888 - name : Set up headless display
89- uses : pyvista/setup-headless-display-action@v1
89+ uses : pyvista/setup-headless-display-action@v2
9090
9191 - name : Create Python venv
9292 run : |
@@ -142,20 +142,23 @@ jobs:
142142 pytest -v
143143
144144 - name : Upload integration test logs
145+ if : always()
145146 uses : actions/upload-artifact@v3
146147 with :
147148 name : integration-test-logs-${{ runner.os }}
148149 path : tests/integration/logs
149150 retention-days : 7
150151
151152 - name : Upload PyVista generated images (cache and results)
153+ if : always()
152154 uses : actions/upload-artifact@v3
153155 with :
154156 name : pytest-pyvista-images-${{ runner.os }}
155157 path : tests/integration/image_cache
156158 retention-days : 7
157159
158160 - name : Upload Coverage Results
161+ if : always()
159162 uses : actions/upload-artifact@v3
160163 with :
161164 name : coverage-html
@@ -185,7 +188,7 @@ jobs:
185188 python-version : ' 3.9' # use python3.9, self-hosted has an issue with 3.10
186189
187190 - name : Set up headless display
188- uses : pyvista/setup-headless-display-action@v1
191+ uses : pyvista/setup-headless-display-action@v2
189192
190193 - name : Create Python venv
191194 run : |
@@ -304,13 +307,15 @@ jobs:
304307 requires-xvfb : true
305308
306309 - name : Upload integration test logs
310+ if : always()
307311 uses : actions/upload-artifact@v3
308312 with :
309313 name : integration-test-logs-${{ runner.os }}
310314 path : tests/integration/logs
311315 retention-days : 7
312316
313317 - name : Upload PyVista generated images (cache and results)
318+ if : always()
314319 uses : actions/upload-artifact@v3
315320 with :
316321 name : pytest-pyvista-images-${{ runner.os }}
@@ -326,7 +331,7 @@ jobs:
326331
327332 package :
328333 name : Package library
329- needs : [testing-windows, docs]
334+ needs : [testing-windows, testing-linux, docs]
330335 runs-on : ubuntu-latest
331336 steps :
332337 - name : Build library source and wheel artifacts
@@ -335,10 +340,38 @@ jobs:
335340 library-name : ${{ env.PACKAGE_NAME }}
336341 python-version : ${{ env.MAIN_PYTHON_VERSION }}
337342
343+ fetch-release-artifacts :
344+ name : Fetch release artifacts
345+ needs : [testing-windows, testing-linux, docs]
346+ if : github.event_name == 'push' && contains(github.ref, 'refs/tags')
347+ runs-on :
348+ group : ansys-internal
349+ labels : [self-hosted, Windows, signtool]
350+
351+ steps :
352+ - name : Download binaries
353+ run : |
354+ curl.exe -X GET -H "X-JFrog-Art-Api: ${{ secrets.ARTIFACTORY_KEY }}" ${{ secrets.ARTIFACTORY_URL }}/DockerWindows.zip --output windows-binaries.zip
355+ curl.exe -X GET -H "X-JFrog-Art-Api: ${{ secrets.ARTIFACTORY_KEY }}" ${{ secrets.ARTIFACTORY_URL }}/DockerLinux.zip --output linux-binaries.zip
356+
357+ - name : Upload Windows binaries as workflow artifacts
358+ uses : actions/upload-artifact@v3
359+ with :
360+ name : windows-binaries.zip
361+ path : windows-binaries.zip
362+ retention-days : 7
363+
364+ - name : Upload Linux binaries as workflow artifacts
365+ uses : actions/upload-artifact@v3
366+ with :
367+ name : linux-binaries.zip
368+ path : linux-binaries.zip
369+ retention-days : 7
370+
338371 release :
339372 name : Release project
340373 if : github.event_name == 'push' && contains(github.ref, 'refs/tags')
341- needs : [package]
374+ needs : [package, fetch-release-artifacts ]
342375 runs-on : ubuntu-latest
343376 steps :
344377 - name : Release to the private PyPI repository
@@ -352,6 +385,7 @@ jobs:
352385 uses : pyansys/actions/release-github@v4
353386 with :
354387 library-name : ${{ env.PACKAGE_NAME }}
388+ additional-artifacts : windows-binaries.zip linux-binaries.zip
355389
356390 upload_dev_docs :
357391 name : Upload dev documentation
0 commit comments