-
Notifications
You must be signed in to change notification settings - Fork 732
[windows-macos] Add macos-15-intel to matrix #4455
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
base: main
Are you sure you want to change the base?
Conversation
According to the GH docs, macOS 15 will be the last version that will support Intel. The macos-15 runners will be available until Aug '27. This patch introduces the macos-15-intel runner to test-drive it. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
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.
Pull Request Overview
This PR adds support for the macOS 15 Intel runner to the CI matrix, as macOS 15 will be the last version supporting Intel architecture. The change introduces the macos-15-intel
runner configuration and marks it as optional to allow the workflow to continue even if this specific job fails.
- Adds
macos-15-intel
runner with x86_64 architecture and mono configuration to the test matrix - Introduces an
optional
flag to allow the workflow to continue on error for experimental runners - Updates the matrix JSON string to include the new runner configuration
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
brew_extra_pkgs allow specifying additional brew packages to install for a specific matrix configuration. Removed the install nuget step in favor of the new approach. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
591b339
to
c105390
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4455 +/- ##
=======================================
Coverage 89.05% 89.05%
=======================================
Files 240 240
Lines 15241 15243 +2
=======================================
+ Hits 13573 13575 +2
Misses 1668 1668 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
github-script allows greater flexibility for manipulating the matrix JSON. Also use more descriptive names for the matrix jobs. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
e30c5cb
to
44dcfb6
Compare
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
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.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
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.
Pull Request Overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Mustafa Kemal Gılor <mustafagilor@gmail.com>
Is there a reason why we need to be running Intel macOS-15 runners? |
GitHub's ARM runners do not support nested virtualization, so it's mainly needed for the cli-tests (or any kind of testing that needs to run Multipass VMs on macOS). Also, the macOS-13 Intel runners are deprecated and will be removed this December. |
.github/workflows/windows-macos.yml
Outdated
case job["runs-on"]?.endsWith("-intel"): | ||
job.arch = "x86_64"; | ||
break; | ||
case job["runs-on"]?.endsWith("-arm"): |
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.
Which runner does this apply to?
.github/workflows/windows-macos.yml
Outdated
job.mono = "mono" | ||
switch (true) { | ||
case job["runs-on"]?.endsWith("-intel"): |
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.
macos-13
should also receive this.
.github/workflows/windows-macos.yml
Outdated
switch (true) { | ||
case job["runs-on"]?.endsWith("-intel"): | ||
job.arch = "x86_64"; | ||
break; | ||
case job["runs-on"]?.endsWith("-arm"): | ||
job.arch = "arm64"; | ||
break; | ||
} |
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.
I think I would rather just manually add this into the above dictionary literal.
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.
Yes, I initially used the name field for this, but the name ended up being changed to a more appealing one. This is a bit overkill and redundant at this point, too.
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.
The weird thing is that the CI passes 🤷 Could that mean the arch
is redundant at this point? I'll take a look.
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.
Found the original commit:
So, it seems like GH ARM runners were not a thing back then, so the arch wrapper is basically needed for cross-compiling macOS packages for the different target arch. That's a thing we're no longer doing since the arch-specific packages are being built in their native host environment (i.e., Intel and ARM silicon, respectively).
I'll move the arch vars to each respective JSON node, and submit another PR to remove the arch wrapper altogether.
Good to know. Guess we will need to prioritize backwards compatible macOS builds. |
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
According to the GH docs, macOS 15 will be the last version that will support Intel. The macos-15 runners will be available until Aug '27.
This patch introduces the macos-15-intel runner to test-drive it.
MULTI-2350