Skip to content

Draft: ci: add basic tests on macOS arm64

François Laignel requested to merge fengalin/gst-plugins-rs:basic-macos-ci into main

Purpose

The purpose of this new job is to catch macOS specific regressions asap. E.g. while upgrading dependencies for threadshare in !1336 (merged), I broke macOS support and it showed up later in Cerbero IIRC (fixed in !1344 (merged)).

TODO:

  • Try again using pkg-config packaged with gstreamer-1.0-*.pkg. Not found. Manually adding /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig to PKG_CONFIG_PATH.
  • brew now provides gtk4 with glib-2.0 & gio-2.0 versions meeting requirements of gtk4-rs (>= 2.76.0), but the base-system from provides 2.74.4. Can't overriding the base system with libs from brew: objc[62396]: Class GNotificationCenterDelegate is implemented in both /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib (0x105972350) and /opt/homebrew/Cellar/glib/2.80.0_2/lib/libgio-2.0.0.dylib (0x1053286b0). One of the two will be used. Which one is undefined.
  • Can't compile gst-plugin-gtk4 with all-features since brew doesn't provide X11 & wayland versions.
  • Excluding gst-plugin-dav1d because a version 1.1.0 comes with gstreamer-codec and dav1d-rs requires >= 1.3.0.
  • Figure out if and how we could generate gst-plugin-csound. It seems the package expects a different lib name than the one provided by brew. This has been fixed in a commit on the main branch but never released aiui. Excluding it for now.
  • Fix @rpath for tests execution. Ex.: dyld[55712]: Library not loaded: @rpath/libgstaudio-1.0.0.dylib. Using env var DYLD_FALLBACK_LIBRARY_PATH.
  • It might be a good idea to build an image with gstreamer-1.0-devel-*.pkg (and brew + pkg-config if above item fails) & gtk4 installed.
  • This uses tag gst-mac-arm, which I got from the cerbero CI. We probably want different runners for gst-plugins-rs.
  • Restore trigger and other stages & platforms.

cc @alatiera

Edited by François Laignel

Merge request reports