Skip to content

Commit 460dffe

Browse files
committed
ci: Add support for using self-hosted runners for legacy builds
MacVim legacy builds target macOS 10.9, which needs Xcode 14.0.1 or below. However, GitHub Actions no longer has a runner that has that installed as macos-12 was removed and macos-13 has newer Xcode versions. We are setting up a custom self-hosted runner that has Xcode 14.0.1 installed and configure GitHub Actions to use that to build legacy builds. Only do this when making a full release because this has to be spun up manually. One big problem with setting up such a workflow is that GitHub Actions' workflow syntax does not provide a way to selectively skip certain matrix configuration in the `runs-on` field. The cleanest solution (which is still quite messy) is to refactor the build-and-test step into a separate reusable workflow, and have the parent workflow invoke it with a "skip" boolean flag for each matrix entry. The child workflow will then use that to selectively decide to run the job or not. It does mean the CI YAML file is now split into two. This does have some benefits since if we want to add reproducible builds in the future (#1506) this would allow us to set up a new workflow that builds MacVim the same way when a new release is made and verify that it's been built properly.
1 parent 4af622d commit 460dffe

File tree

2 files changed

+437
-391
lines changed

2 files changed

+437
-391
lines changed

0 commit comments

Comments
 (0)