Skip to content

Commit 87d5536

Browse files
authored
[CI] Failing jobs stop upload in release CI (bis) (#1541)
1 parent 31c7706 commit 87d5536

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

.github/workflows/release.yml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,17 @@ jobs:
246246
collect-wheels:
247247
name: Collect Wheels
248248
needs: [sanity-checks, build-linux, build-windows, build-macos, build-aarch64]
249-
if: always() && !cancelled()
249+
# Only run when ALL build jobs succeed. This ensures:
250+
# 1. Incomplete wheel sets are never collected
251+
# 2. If a build fails, this job is "skipped" (not "failed")
252+
# 3. Re-running the failed build job will also trigger this job
253+
if: |
254+
always() && !cancelled() &&
255+
needs.build-linux.result == 'success' &&
256+
needs.build-windows.result == 'success' &&
257+
needs.build-macos.result == 'success' &&
258+
needs.build-aarch64.result == 'success' &&
259+
(needs.sanity-checks.result == 'success' || needs.sanity-checks.result == 'skipped')
250260
runs-on: ubuntu-latest
251261
steps:
252262
- name: Check build results
@@ -256,15 +266,8 @@ jobs:
256266
echo " Windows: ${{ needs.build-windows.result }}"
257267
echo " macOS: ${{ needs.build-macos.result }}"
258268
echo " Aarch64: ${{ needs.build-aarch64.result }}"
259-
260-
# Fail if all builds failed
261-
if [[ "${{ needs.build-linux.result }}" == "failure" ]] && \
262-
[[ "${{ needs.build-windows.result }}" == "failure" ]] && \
263-
[[ "${{ needs.build-macos.result }}" == "failure" ]] && \
264-
[[ "${{ needs.build-aarch64.result }}" == "failure" ]]; then
265-
echo "::error::All wheel builds failed"
266-
exit 1
267-
fi
269+
echo ""
270+
echo "All builds succeeded - proceeding with wheel collection"
268271
269272
- name: Download all wheel artifacts
270273
uses: actions/download-artifact@v4

0 commit comments

Comments
 (0)