Skip to content

ci: fix cross-platform build and test failures#13

Merged
zevorn merged 4 commits into
develfrom
codex/fix-devel-ci-20260715
Jul 16, 2026
Merged

ci: fix cross-platform build and test failures#13
zevorn merged 4 commits into
develfrom
codex/fix-devel-ci-20260715

Conversation

@zevorn

@zevorn zevorn commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add Homebrew bison and flex bin directories to GITHUB_PATH before
    configuring QEMU in the macOS build matrix.
  • Replace POSIX-only pread()/pwrite() calls in the AX650X eMMC qtest with
    portable seek/read/write operations and open the raw image in binary mode.
  • Reduce the existing 9p xattr limit test payload from 8 KiB to 1 KiB so the
    FID-limit test does not depend on the backing filesystem's xattr capacity.
  • Disable documentation in the dedicated Clang 22 compiler build so unrelated
    Sphinx multiprocessing failures cannot mask compiler compatibility results.

Root causes

The macOS runners installed Homebrew bison, but bison is keg-only and was not
added to PATH. Meson therefore found /usr/bin/bison 2.3, while the Hexagon
build requires bison 3.0 or newer.

The MinGW64 and Windows CLANGARM64 builds failed because the AX650X qtest used
POSIX pread() and pwrite(), which are not declared on Windows. QEMU's osdep
layer already provides portable lseek(), regular file I/O, and binary-mode
flags for this use case.

The Linux ARM64 check failed the existing 9p local/xattr_limit/default test
with RLERROR/ENOSPC while clunking an 8 KiB xattr. The test is intended to
verify the number of outstanding xattr FIDs, not the host filesystem's maximum
xattr value size. A 1 KiB non-empty payload preserves all limit assertions and
works on constrained overlay/backing filesystems.

The Clang 22 job installed and configured the requested compiler successfully,
but its Sphinx -j auto worker exited with multiprocessing EOFError while
Ninja was compiling in parallel. Documentation is already covered elsewhere;
keeping this dedicated job compiler-only removes the unrelated resource race.

Original failing jobs:

Validation

  • git diff --check
  • actionlint -shellcheck= .github/workflows/build.yml
  • scripts/checkpatch.pl --branch HEAD^..HEAD
  • Verified on macOS ARM that the workflow path resolves bison 3.8.2 instead of
    the system bison 2.3.
  • Native AArch64 build plus
    qemu:qtest-aarch64/ax650x-pyramid-test: 9/9 subtests passed.
  • Native ARM64 Ubuntu 24.04 container build plus the exact 9p
    local/xattr_limit/default test path: 1/1 passed.

The original devel matrix and the updated fix-branch matrix remain under
observation for additional independent failures.

@zevorn zevorn changed the title ci: expose Homebrew parser tools on macOS ci: fix macOS and Windows build failures Jul 15, 2026
@zevorn zevorn changed the title ci: fix macOS and Windows build failures ci: fix cross-platform build and test failures Jul 15, 2026
@zevorn
zevorn marked this pull request as ready for review July 15, 2026 17:31
@zevorn
zevorn merged commit d7571af into devel Jul 16, 2026
92 of 94 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.

1 participant