Skip to content

Release all six architectures - #32

Merged
Samueru-sama merged 1 commit into
pkgforge-dev:mainfrom
talaria0101:release-all-arches
Sep 4, 2026
Merged

Release all six architectures#32
Samueru-sama merged 1 commit into
pkgforge-dev:mainfrom
talaria0101:release-all-arches

Conversation

@talaria0101

Copy link
Copy Markdown
Contributor

v0.2.2 shipped only x86_64 and aarch64 because the release workflow's
matrix, its collect step and its checksum step still enumerated two
architectures, and because scripts/release-notes.sh refused to generate
a body from manifests whose floors disagree, which they now do by
design: loongarch64's floor is glibc 2.36, the first release that runs
the architecture, against 2.31 everywhere else.

Widen all three to x86_64, aarch64, riscv64, ppc64, ppc64le and
loongarch64, and state the floor per architecture in the generated body
instead of once. The refusal survives in the scope where it was a
finding: the two variants of ONE architecture must still agree.

The collect step now refuses in both directions. Missing staged
artifacts already refused; an architecture that produced artifacts but
is not in the collect list now refuses too, so a matrix row added
without widening this list cannot ship a release that silently lacks
it, which is the shape v0.2.2 had.

Measured locally, with real builds:

  • five cross builds plus one portable, packaged by package-release.sh;
    release-notes.sh generates the body from all six manifests with the
    per-arch floor table (aarch64 2.31 ... loongarch64 2.36), where the
    previous script exits 2 on the same input.
  • planted defects, each seen to refuse: two manifests of one
    architecture disagreeing about the floor (exit 2); an unlisted s390x
    in staged (exit 1); a missing architecture (exit 1); one corrupted
    byte in a loose ppc64 asset against its manifest (exit 1, and 25 of
    25 pass clean).

The evidence gate is unchanged and still blocks every architecture: it
runs where it can, on the two architectures with runners, and the four
cross-compiled ones are released on the build verification, which the
workflow header now states with the pointer to
docs/report/10-measured-versus-assumed.md 10.


Requested by Samueru via pi-discord.
Conversation: https://discord.com/channels/1313385177703256064/1545249294377033729
Transcript: https://talaria.qaidvoid.dev/?session=1i2d05e

v0.2.2 shipped only x86_64 and aarch64 because the release workflow's
matrix, its collect step and its checksum step still enumerated two
architectures, and because scripts/release-notes.sh refused to generate
a body from manifests whose floors disagree, which they now do by
design: loongarch64's floor is glibc 2.36, the first release that runs
the architecture, against 2.31 everywhere else.

Widen all three to x86_64, aarch64, riscv64, ppc64, ppc64le and
loongarch64, and state the floor per architecture in the generated body
instead of once. The refusal survives in the scope where it was a
finding: the two variants of ONE architecture must still agree.

The collect step now refuses in both directions. Missing staged
artifacts already refused; an architecture that produced artifacts but
is not in the collect list now refuses too, so a matrix row added
without widening this list cannot ship a release that silently lacks
it, which is the shape v0.2.2 had.

Measured locally, with real builds:

- five cross builds plus one portable, packaged by package-release.sh;
  release-notes.sh generates the body from all six manifests with the
  per-arch floor table (aarch64 2.31 ... loongarch64 2.36), where the
  previous script exits 2 on the same input.
- planted defects, each seen to refuse: two manifests of one
  architecture disagreeing about the floor (exit 2); an unlisted s390x
  in staged (exit 1); a missing architecture (exit 1); one corrupted
  byte in a loose ppc64 asset against its manifest (exit 1, and 25 of
  25 pass clean).

The evidence gate is unchanged and still blocks every architecture: it
runs where it can, on the two architectures with runners, and the four
cross-compiled ones are released on the build verification, which the
workflow header now states with the pointer to
docs/report/10-measured-versus-assumed.md 10.
@Samueru-sama
Samueru-sama merged commit 47e0a1f into pkgforge-dev:main Sep 4, 2026
30 checks passed
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.

2 participants