Skip to content

Conversation

@taysta
Copy link
Contributor

@taysta taysta commented May 22, 2025

Changes:

  • Adds macOS universal2 builds to the GitHub actions workflow, providing a build that will run on both x86_64 and arm64 macOS systems
  • Updated Info.plist files

Other considerations I noticed while doing this, which are relevant but I have decided are out of the scope of this PR for now:

  • The module and renderer dylibs have the architecture extension hardcoded, so we can't lipo the modules and renderers together into a single ub2 version as the engine will try to find files with extensions matching the architecture of the current user, currently I am just bundling both the x86_64 and arm64 module and renderer dylibs into the universal2 bundle, but we could save on filesize by either removing the architecture extension requirement when loading, or by allowing a ub2 extension to work on both x86_64 and arm64 macs
  • Currently, there are 3 copies of the info.plist file, could this be one file

Notes:

  • I have tested and confirmed that openjk mp, openjk sp and openjo sp are all working on arm64, but I do not have access to an x86_64 system to verify them there.
  • A consideration to make while reviewing is that create-latest and create-release cannot be tested without the merge triggering the release, and this PR does introduce changes which could potentially cause them to break upon merge, I am pretty sure the zip filenames are correct, and the needs: steps have the added macos-ub2 dependency, so I believe they will run successfully, but worth double checking.

@taysta taysta requested a review from a team as a code owner May 22, 2025 05:29
@taysta taysta changed the title [CI/CD] macOS Universal2 Builds via GitHub Actions [CI/CD] macOS Universal2 builds via GitHub Actions May 22, 2025
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