fix(ci): make platform publish resilient to individual build failures

publish job now runs with if: always() && !cancelled(), and gates
each publish step on download.outcome == 'success'. One flaky target
(e.g. windows-x64-baseline) no longer blocks all other platforms.
This commit is contained in:
YeonGyu-Kim
2026-02-27 04:39:05 +09:00
parent ae54fd31f4
commit 0749a8f138

View File

@@ -154,6 +154,7 @@ jobs:
# =============================================================================
publish:
needs: build
if: always() && !cancelled()
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -176,14 +177,16 @@ jobs:
fi
- name: Download artifact
id: download
if: steps.check.outputs.skip != 'true'
continue-on-error: true
uses: actions/download-artifact@v4
with:
name: binary-${{ matrix.platform }}
path: .
- name: Extract artifact
if: steps.check.outputs.skip != 'true'
if: steps.check.outputs.skip != 'true' && steps.download.outcome == 'success'
run: |
PLATFORM="${{ matrix.platform }}"
mkdir -p packages/${PLATFORM}
@@ -199,13 +202,13 @@ jobs:
ls -la packages/${PLATFORM}/bin/
- uses: actions/setup-node@v4
if: steps.check.outputs.skip != 'true'
if: steps.check.outputs.skip != 'true' && steps.download.outcome == 'success'
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
- name: Publish ${{ matrix.platform }}
if: steps.check.outputs.skip != 'true'
if: steps.check.outputs.skip != 'true' && steps.download.outcome == 'success'
run: |
cd packages/${{ matrix.platform }}