-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Build on macOS with Apple silicon (arm64) #3208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build on macOS with Apple silicon (arm64) #3208
Conversation
The
Having address the
|
|
I replaced the NOTE: This doesn't imply dropping support for x86_64 on macOS though, but rather have visibility on the more representative architecture on the platform now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks again @eduar-hte. |
airween@, I'm seeing builds today failing on the new I found about it while working on another PR and experiencing failures on the mac builds, which I initially thought were related to those changes, but it seems they were unrelated. It's always the same regression tests:
but the configuration changes (for example For example: but then: I think I saw you experience this yourself working on the |
The strangest thing is that if I'm not reading things wrong, the test file only has three tests, and when the builds fail, they show that four were executed. If you take a look at the However, in the same build (and I would expect regression test
|
Hi @eduar-hte, yes, this is a very weird behavior and I'm not sure I understand what I see. It's weird because when you sent the PR, all checks passed successfully. When I merge the PR, tests run again. In this case, the tests on macOS were failed. Then I re-run them again by hand, and all of them finished successfully. And yes, there is a pending PR where I collect merged PR's for It is very annoying that the failed tests are not consistent: every time a different test fails. |
yes, I noticed that.
yes, you're right.
Maybe, I didn't noticed that. But now I looked up few other jobs and found this one: Here you can see that the macOS (wo geoip) was the success test, and macOS (with pcre2) was the first failed build. This was a job after merging your PR.
Look at this
I think we definitely need to investigate this. Do you have any macOS-14 environment? |
Yes, my point was that it's clearly related to macOS 14, but not the PR that I was currently working on (which I ended up spending a couple of hours trying to think how my changes could have broken those regression tests).
This is strange and started happening just today so I think it's related to a change in environment. I went back to see all the actions executed in my fork for the And as far as I can see, all of the builds that fail are running on macOS 14.6, a GitHub runner image which was released yesterday and is currently being deployed, see here.
Yes, I have a macOS mini that is running macOS 14.5, and all the tests run successfully there after cloning the repository and building I'll try to see if I can update it to macOS 14.6 and see if I can reproduce it there. |
The
while the one that run successfully two hours later (see here) ran on the older one (macOS 14.5):
|
I've updated my mac mini and found that the test
The test configuration depends on a specific error message from curl/OS ( I'll create a new quick PR to simplify the test configuration and look just for PS: Someone should take a look at why |
A build with this change running on macOS 16 shows that this change solves the issue, see here. I had to trigger the build a couple of times because the first two ones were assigned a macOS 14.5 runner image, which would not have proven that the change addressed the issue. |
what
Support building libModSecurity on macOS with Apple silicon (arm64)
why
Apple has been moving the macOS platform to Apple silicon (arm64) over the last few years (as of June 2023, the entire Mac lineup uses Apple silicon chips).
This PR fixes build configuration issues in pcre & yajl that prevented the library from compiling on newer versions of macOS (which probably apply to the x86_64 version of the OS too).
Additionally, it updates the GitHub quality assurance workflow to run now on macOS 14, which is an Apple silicon (arm64) runner image (see here).