Skip to content

fix(release): verified, gated mirroring + fresh-install index wait (A4)#201

Merged
Sunrisepeak merged 1 commit into
mainfrom
fix/release-pipeline-hardening
Jul 8, 2026
Merged

fix(release): verified, gated mirroring + fresh-install index wait (A4)#201
Sunrisepeak merged 1 commit into
mainfrom
fix/release-pipeline-hardening

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Root-cause fix for the 0.0.85 publish incident. See commit message and .agents/docs/2026-07-08-root-cause-remediation-design.md §A4. Positive + negative tested locally against the live 0.0.85 mirror.

… completeness (A4)

Root fixes for the 0.0.85 publish incident (one stuck gh upload → >1h hang
→ silently incomplete mirror → downstream install 404s):

- publish-ecosystem: timeout-minutes 20 (was unbounded, 6h ceiling).
- mirror_res.sh GH section gets the SAME protection its GitCode section
  always had: per-file timeout 300, post-upload download-200 verification,
  delete-and-reupload retry <=5 (the observed bad asset state cleared on
  re-upload). Both sections now skip assets already serving 200, so
  incident-recovery re-runs are seconds, not a full re-mirror.
- Completeness gate verifies every asset on every ENABLED host and its
  non-zero exit is now BLOCKING in release.yml — the old
  '|| echo non-blocking' swallowed exactly this signal on 0.0.85. The
  index bump step is blocking for the same reason.
- ci-fresh-install: new wait-index gate job — post-release runs poll
  xim-pkgindex's mcpp.lua for the released version (<=15min) instead of
  racing the bump-PR merge (0.0.85: failed 55s after merge).

Verified: bash -n + YAML parse; positive run against the complete 0.0.85
mirror (16/16 assets 200 on both hosts, gate exit 0, skip path exercised);
negative run with an injected missing asset exits 1 naming it.

Design: .agents/docs/2026-07-08-root-cause-remediation-design.md A4.
@Sunrisepeak Sunrisepeak merged commit e99beb6 into main Jul 8, 2026
6 checks passed
@Sunrisepeak Sunrisepeak deleted the fix/release-pipeline-hardening branch July 8, 2026 15:20
Sunrisepeak added a commit that referenced this pull request Jul 8, 2026
…(A1), cross gcc16 floor (A2/R5a) (#203)

Version bump + remediation-doc live status. Ships on top of the merged
PRs #201 (verified gated mirroring) and #202 (static libc++ for test
binaries, llvm 22.1.8 green); this branch adds the aarch64 cross floor:
<triple>-gcc@16.1.0 (xim entry #344), retiring GCC 15 from the cross
path. The manifest instantiation anchor REMAINS for the x86_64 musl
release build (musl-gcc 15.1.0) until R5b packages its gcc 16.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant