Add macOS CI
This MR adds macOS CI for the Apple Silicon architecture to Meld. All Apple Silicon based machines / operating systems are supported. There is no support for the Intel architecture for the time being.
The build scripts are maintained and tested in a dedicated repository (MM_REPO_URL
) and are not being integrated into the upstream codebase. Updating it once a newer version is available is as simple as changing a version number (MM_REPO_REF
).
Dependencies are being built from source, which prolongs build times significantly and is undesireable for CI. This is being mitigated by storing the dependencies in GitLab's package registry once they've been built. A change detection mechanism is in place that decides if it can use an artifact from the package registry or if a full rebuild is required. A full rebuild can take between 30 and 60 minutes, an accelerated build about 2 minutes.
Meld itself is being built and packaged into an application bundle. The app is then packaged into a disk image for distribution. That disk image is the build artifact.
The app is not automatically signed or notarized, I don't do that for CI development builds. I create releases locally from pipeline artifacts when necessary.
Assuming that you want to merge this, the following things are left to do before merging:
-
enable package registry for the upstream repository: you need to do that -
assign runner: I'll take of care of that