ci: skip the artifact steps off GitHub instead of failing them

2753b5c · Gabriel Morell · 2026-09-17 03:22

3 files +18 -10
Message
{commit_body(@commit)}

Files changed

modified .github/workflows/rust-ci.yml
+18 −10
@@ -348,15 +348,16 @@ jobs:
348 348
349 349 - name: Upload release archive
350 350 uses: actions/upload-artifact@v4
351 − # This forge has no artifact storage, so upload-artifact fails
352 − # against it. The packages are published to the registry
353 − # instead, which is the thing anyone actually installs from —
354 − # failing the whole build over a copy nobody fetches would hide
355 − # real failures behind a known one.
351 + # Artifact storage is a GitHub feature; this forge has none, so
352 + # these steps have nothing to upload to. They used to run and
353 + # fail with `continue-on-error`, which is a red step on every
354 + # single run — and a build that is always a bit red teaches
355 + # everyone to stop reading it. Skipping says the same thing
356 + # honestly and leaves the badge meaningful.
356 357 #
357 − # Drop `continue-on-error` if artifact support lands, so a
358 − # genuine upload failure is visible again.
359 − continue-on-error: true
358 + # The packages are published to the forge's registries instead,
359 + # which is the thing anyone actually installs from.
360 + if: ${{ startsWith(github.server_url, 'https://github.com') }}
360 361 with:
361 362 name: ${{ matrix.name }}
362 363 path: ${{ matrix.name }}
@@ -364,7 +365,14 @@ jobs:
364 365 create-release:
365 366 name: Create Release
366 367 runs-on: arc-runner-set
367 − if: startsWith(github.ref, 'refs/tags/v')
368 + # Makes a *GitHub* Release out of artifacts a GitHub runner uploaded.
369 + # Off GitHub it would download nothing and then fail, which is the
370 + # permanently-red build this workflow is trying to stop having.
371 + # Tagged builds still publish their packages — that happens in the
372 + # build job, which runs everywhere.
373 + if: >-
374 + startsWith(github.ref, 'refs/tags/v') &&
375 + startsWith(github.server_url, 'https://github.com')
368 376 needs: release
369 377 permissions:
370 378 contents: write
@@ -373,7 +381,7 @@ jobs:
373 381
374 382 - name: Download all artifacts
375 383 uses: actions/download-artifact@v4
376 − continue-on-error: true
384 + if: ${{ startsWith(github.server_url, 'https://github.com') }}
377 385 with:
378 386 path: artifacts
379 387

Parents: 78cb0ad