Repository navigation
Every target the ladders build is little-endian, so a byte copy that assumes the low byte comes first, or a test that counts on it, passes everywhere and fails only on a big-endian machine. This release adds one leg that runs on one.
- A big-endian leg,
s390x.yml(#79): builds a caller with the s390x cross GCC from theubuntu-26.04runner image's own archive (GCC 15 by default, the stable rung), and runs its tests underqemu-s390x. One release rather than a ladder, asemscripten.yml: what is under test is the byte order. Emulation is several times slower than native, so a caller dispatches it from its nightly canary, not from pull requests. Inputs:gcc_version,build_types(Debug by default),vcpkg_features,cxx_flags,scan_for_modules,debug_flags,cmake_argsandbuild_memory_mib. - An s390x triplet and toolchain (#78):
vcpkg-overlaygainss390x-linux-gcc, which builds a caller's dependencies with the same cross GCC and emulator, and the workflow chainloads the same toolchain for the caller's own configure. vcpkg's communitys390x-linuxtriplet alone would build with the host compiler. - s390x rather than powerpc64 because it is a current platform: IBM sells it, and Ubuntu, RHEL and SLES all ship for it.
No existing workflow's inputs changed, and none became required. A caller repins by moving its uses: lines to this commit:
uses: rhalbersma/cpp-ci/.github/workflows/<workflow>.yml@d2d660725227972f5ac9bdd65efda9d485fb30b7 # v0.15.0
and adds the leg with a workflow_dispatch-only stub that its canary dispatches:
uses: rhalbersma/cpp-ci/.github/workflows/s390x.yml@d2d660725227972f5ac9bdd65efda9d485fb30b7 # v0.15.0