On 10/25/26 1:20 PM, Dave Young wrote:
The build job cross compiles nine architectures in one matrix, pins
ubuntu-24.04, and builds gmp 6.2.1 / mpfr 4.1.0 from unverified tarballs for
every architecture. This series reworks it.
Patch 1 adds the CROSS_COMPILE triplet mapping for loongarch64 and
powerpc64le; the build system rejected both before with "does not support
cross compilation".
Patch 2 moves the per-arch build into a reusable workflow and builds the
primary group (x86_64, x86, aarch64, riscv64, loongarch64) on every push to
master, on ubuntu-26.04: x86_64 natively, the rest with the archive's cross
toolchains. 26.04 is the first Ubuntu with a loongarch64 cross toolchain and
the image ubuntu-latest switches to in November 2026. gmp/mpfr come from the
archive where multiarch packages exist and from sha256-verified upstream
tarballs elsewhere; if apt refuses the multiarch install because it would
downgrade the runner's amd64v3 packages, the target .debs are unpacked
instead.
Patch 3 adds the secondary group (s390x, ppc64le, ppc64, mips, alpha,
sparc64) on ubuntu-24.04, monthly or on demand -- mips has no cross compiler
in 26.04 at all -- plus a manual "Build (all arches)" wrapper.
Patch 5 lets the arch be picked from a dropdown when dispatching by hand.
Patch 4 ("Remove the pr closer workflow") is an unrelated cleanup that was
queued on the same branch; drop it if you prefer to review it separately.
The per-arch workflow can also be dispatched directly, so one architecture
can be built without the rest.
Tested with GitHub Actions on the fork: x86_64 (native) and loongarch64 pass
end to end on ubuntu-26.04, and the multiarch jobs exercise both the install
and the unpack paths.
Note: in the future I'd prefer to use github pr for these meta data related
changes, and mail list only for code fixes.
Signed-off-by: Dave Young <yangrr.2009(a)tsinghua.org.cn>
Assisted-by: LLM
Dave Young (5):
build: allow cross compiling for loongarch64 and powerpc64le
ci: build the primary arches on ubuntu-26.04 through a reusable
workflow
ci: add the secondary arch group and a manual all-arches workflow
Remove the pr closer workflow
ci: pick the arch from a dropdown when dispatching a group
.github/workflows/ci-arch-build.yml | 282 +++++++++++++++++++++++
.github/workflows/ci-build-all.yml | 30 +++
.github/workflows/ci-build-secondary.yml | 96 ++++++++
.github/workflows/ci-build.yml | 164 ++++++-------
.github/workflows/pr-closer.yml | 13 --
Makefile | 4 +
README | 2 +-
7 files changed, 496 insertions(+), 95 deletions(-)
create mode 100644 .github/workflows/ci-arch-build.yml
create mode 100644 .github/workflows/ci-build-all.yml
create mode 100644 .github/workflows/ci-build-secondary.yml
delete mode 100644 .github/workflows/pr-closer.yml
base-commit: 041e7e43ea267289bc1ab7f517a53e35d567e7ed
Applied