fix(ci): forgejo-first release (gitlab can't block it) + headless builds #15

Merged
psk merged 1 commit from fix/release-mirror-sync into master 2026-06-29 19:47:52 +00:00
Owner

For 0.3.2.

Decouple: the release job did the Forgejo release AND the GitLab mirror in one job, so a slow/broken forgejo->gitlab push mirror (the <=60s tag-sync wait) failed the WHOLE release even though the Forgejo (primary) release already succeeded. Split the GitLab work (release + Pages) into a downstream mirror-gitlab job (needs: release) that fetches the artifacts via upload/download-artifact. A GitLab/mirror failure now shows RED on that job but is isolated -- it can't block/undo the Forgejo release. GitLab is NOT best-effort. Kept the active push-mirror kick + ~3min poll.

Headless builds: render-only x86_64 + aarch64, each archive ships a HEADLESS.md with the Vulkan-driver deps; added to the README download table.

Note: cross-job artifact-passing only gets its real test on the release run (fallback: pull assets from the Forgejo release if the runner lacks the artifact server).

For 0.3.2. **Decouple:** the release job did the Forgejo release AND the GitLab mirror in one job, so a slow/broken forgejo->gitlab push mirror (the <=60s tag-sync wait) failed the WHOLE release even though the Forgejo (primary) release already succeeded. Split the GitLab work (release + Pages) into a downstream `mirror-gitlab` job (needs: release) that fetches the artifacts via upload/download-artifact. A GitLab/mirror failure now shows RED on that job but is isolated -- it can't block/undo the Forgejo release. GitLab is NOT best-effort. Kept the active push-mirror kick + ~3min poll. **Headless builds:** render-only x86_64 + aarch64, each archive ships a HEADLESS.md with the Vulkan-driver deps; added to the README download table. Note: cross-job artifact-passing only gets its real test on the release run (fallback: pull assets from the Forgejo release if the runner lacks the artifact server).
fix(ci): forgejo-first release + headless render builds (gitlab can't block it)
All checks were successful
ci / build-and-test (pull_request) Successful in 8m56s
fa4bfa69d7
The release job did the Forgejo release AND the GitLab mirror in one job,
so a slow/broken forgejo->gitlab push mirror (the <=60s tag-sync wait)
failed the WHOLE release even though the Forgejo (primary/"local") release
had already succeeded. Forgejo is the source of truth; GitLab is a
downstream mirror and must never block or undo it.

- Split the GitLab work (release + Pages) into a separate `mirror-gitlab`
  job (`needs: release`) that fetches the built artifacts via
  upload/download-artifact. A GitLab/mirror failure now shows red on THAT
  job but is isolated -- it can't block or undo the Forgejo release.
  GitLab is NOT best-effort: real failures still fail the mirror job.
- Keep the active push-mirror kick + ~3min poll so GitLab still publishes
  promptly when it can.
- Add render-only headless builds for x86_64 + aarch64
  (--no-default-features --features diagnostics), packaged with a
  HEADLESS.md that spells out the runtime deps (only a Vulkan driver), and
  listed in the README download table.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
psk merged commit 075d68f5b8 into master 2026-06-29 19:47:52 +00:00
psk deleted branch fix/release-mirror-sync 2026-06-29 19:47:59 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
public/soundy-bits!15
No description provided.