Skip to content

macos support for PAS runtime - #213

Merged
jonyMarino merged 1 commit into
mainfrom
ci/macos-runtime-support
Sep 15, 2026
Merged

jonyMarino merged 1 commit into
mainfrom
ci/macos-runtime-support

Conversation

@jonyMarino

Copy link
Copy Markdown
Contributor

Fixes: #

About

This PR adds macOS build support and GitHub Actions validation for the ProjectAirSim native SimLibs.

It builds on the macOS portability work explored in #142 and adapts it to the current repository structure and dependencies.

The main changes are:

  • Add a macos-15 GitHub Actions workflow that runs on pull requests targeting main or main_public.
  • Build the SimLibs in Release mode and run their unit tests on a native macOS runner.
  • Add build_macos.mk with Debug, Release, test, package, and clean targets.
  • Update build.sh to automatically select the macOS build file on Darwin.
  • Add a macOS development setup script using Homebrew, CMake, Ninja, and OpenSSL 3.
  • Add Apple Clang and libc++ build configuration.
  • Use the ONNX Runtime universal2 package on macOS.
  • Build JSBSim as a static library on macOS.
  • Disable CUDA and TensorRT providers when they are unavailable, falling back to the CPU provider.
  • Add the required macOS portability changes for client authorization, MAVLink, runtime library staging, and RPATH handling.
  • Disable LVMon on macOS because its transport currently only supports Windows and Linux.

The workflow exposes a stable macOS SimLibs Release status check so it can be configured as a required branch-protection check.

This PR validates the native SimLibs build. It does not build the complete Unreal Engine project because GitHub-hosted macOS runners do not include Unreal Engine. A full Unreal validation would require a self-hosted macOS runner with UE_ROOT configured.

How Has This Been Tested?

The following validations were performed locally:

  • Configured and built the complete SimLibs Release target on Linux.
  • Built the simlibs_unit_tests target.
  • Ran all unit tests successfully: 347/347 passed.
  • Validated the GitHub Actions workflow YAML.
  • Validated the Bash scripts with bash -n.
  • Validated the macOS Makefile targets with a dry run.
  • Ran git diff --check successfully.

A native macOS build cannot be executed in the current local environment. The new GitHub Actions workflow provides that validation when this branch is pushed and when future pull requests are opened.

Screenshots and videos (if appropriate):

Not applicable.

* ci: add macOS SimLibs build validation

* ci: fix JSBSim configuration with CMake 4

* ci: use Homebrew zlib for macOS Assimp build

* test: allow portable quaternion rounding

[skip ci]

* fix: keep macOS ONNX provider build portable

[skip ci]

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Restore ci/macos-build guard in self-hosted workflow

Co-authored-by: jonyMarino <4614600+jonyMarino@users.noreply.github.com>

* Fix macOS ONNX runtime staging

Co-authored-by: jonyMarino <4614600+jonyMarino@users.noreply.github.com>

* Capture macOS physics test crash backtrace

* Keep topic state alive until publication workers stop

* Register publication channel in teardown regression test

* docs: describe current Apple Silicon build support

* Apply remaining changes

Co-authored-by: jonyMarino <4614600+jonyMarino@users.noreply.github.com>

* Apply remaining changes

Co-authored-by: jonyMarino <4614600+jonyMarino@users.noreply.github.com>

---------

Co-authored-by: jonyMarino <unrealempowerment@gmail.com>
Co-authored-by: Jonathan <jony@iamaisim.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jonyMarino <4614600+jonyMarino@users.noreply.github.com>
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