SoundScapeRenderer / ssr

Main source code repository for the SoundScape Renderer
http://spatialaudio.net/ssr/
GNU General Public License v3.0
132 stars 52 forks source link

CI: add macos-14 #394

Open mgeier opened 5 months ago

mgeier commented 5 months ago

See also #384.

HaHeho commented 5 months ago

This is very strange what is going on with the macos-14, Xcode_15.2 instance.

Looking through the logs I've noticed the following based on e.g. the qt@5 package. macos-13, Xcode_14.3 places installed homebrew packages into /usr/local/opt/qt@5, whereas they are placed in /opt/homebrew/opt/qt@5/ on macos-14, Xcode_15.2.

/usr/local/ does not seem to exist on the latter, which is the reason for the Intersense lib install as well as the fix to find qt@5 during ./configure to fail on macos-14, Xcode_15.2.

HaHeho commented 5 months ago

macos-14, Xcode_15.2 ends up being Apple ARM (see https://github.com/SoundScapeRenderer/ssr/actions/runs/8410773165/job/23029617211?pr=394#step:1:11), although Apple Intel is also available for this combination.

For some reason (I guess this is the future), Apple ARM seems to be the default configuration on macos-14. If this is the current state, then it will probably stay like this. Apple Intel should be available, but I don't know if macos-14-large is available to open-source and for free (right now or ever). See the list of available runners.

To fix this, we have to adapt the build pipeline to handle the slightly different environment on Apple ARM, including the different default install path of homebrew packages. However, supporting and testing builds on Apple ARM has been on the wishlist for a while. Free runners are available now, so this seems the right time to do it. I believe to remember that we started to gather information on what changes to the build scripts may be required?!

mgeier commented 4 months ago

Without really expecting it to work, I tried macos-14 for the homebrew bottle: https://github.com/SoundScapeRenderer/homebrew-ssr/pull/30

And it seems to have worked without warnings!

This is without Intersense but it should be with libmysofa.