Skip to content

ci: added macOS build job - #134

Merged
FlareCoding merged 2 commits into
masterfrom
pr/macos-ci-job
Jul 29, 2026
Merged

ci: added macOS build job#134
FlareCoding merged 2 commits into
masterfrom
pr/macos-ci-job

Conversation

@FlareCoding

@FlareCoding FlareCoding commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • macOS support had no CI enforcement — nothing stopped a change from silently breaking it.
  • A macos-15 (arm64) job builds the sysroots (Darwin-scoped caches), kernel, userland, and disk image for both architectures on every push; unit-test execution stays on the Linux jobs.
  • Runs parallel to the build matrix; warm runs fit inside the existing pipeline envelope.

Note

Low Risk
Changes are limited to CI workflow and a macOS-only skip in Python’s extension-module lint; runtime kernel behavior is unchanged.

Overview
Adds macOS CI coverage so cross-host builds are enforced on every push/PR, without moving QEMU unit tests off Linux.

A new macos-build job runs on macos-15 in parallel with the existing Ubuntu build matrix (both still gate on dynpriv-lint). It cross-builds x86_64 and aarch64, reusing Darwin-specific cache keys for musl/libc++/compiler-rt, then runs make image and asserts kernel.elf plus images/stellux-<arch>.img exist. unit-tests remains needs: build only.

A small Python patch exits early from check_extension_modules.py on non-Linux hosts so macOS cross-builds do not run a host-side shared-module check that can dlopen Linux ELF modules and crash.

Reviewed by Cursor Bugbot for commit 4eac2a9. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor

cursor Bot commented Jul 27, 2026

Copy link
Copy Markdown

Current version of PR was reviewed by /review-bugbot on Jul 27, 14:26 PDT. It flagged 0 findings.

Bugbot on commit 208db98 is skipped.

Comment thread .github/workflows/kernel-unit-tests.yml Outdated
macOS support had no enforcement, so any change could silently break
it. A macos-15 (arm64) job builds its own Darwin-scoped sysroot caches
and runs the full make test flow for both architectures on every push.

Co-authored-by: Cursor <cursoragent@cursor.com>
checksharedmods runs the build interpreter with PYTHONPATH into the
cross-build tree, so its own imports can dlopen cross-built Linux ELF
modules and crash on macOS build pythons with dynamic stdlib modules.
The guard exits before any shadowable import; Linux hosts run the
check unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
@FlareCoding FlareCoding changed the title ci: added macOS build and unit-test job ci: added macOS build job Jul 29, 2026
cursor[bot]

This comment was marked as resolved.

@FlareCoding
FlareCoding merged commit 3f7afbf into master Jul 29, 2026
19 checks passed
@FlareCoding
FlareCoding deleted the pr/macos-ci-job branch July 29, 2026 18:20
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