Skip to content

Conversation

xmkg
Copy link
Member

@xmkg xmkg commented Oct 21, 2025

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

xmkg added 3 commits October 21, 2025 11:12
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>
@xmkg xmkg requested a review from Copilot October 21, 2025 08:45
Copy link

@Copilot Copilot AI left a 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>
@xmkg xmkg force-pushed the enhancement/add-macos-15-intel-to-gh-runners branch from 591b339 to c105390 Compare October 21, 2025 09:07
Copy link

codecov bot commented Oct 21, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.05%. Comparing base (aa4fda5) to head (17dda67).
⚠️ Report is 34 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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>
@xmkg xmkg force-pushed the enhancement/add-macos-15-intel-to-gh-runners branch from e30c5cb to 44dcfb6 Compare October 21, 2025 10:58
xmkg added 2 commits October 21, 2025 14:00
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
@xmkg xmkg requested a review from Copilot October 21, 2025 11:11
Copy link

@Copilot Copilot AI left a 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.

@xmkg xmkg requested review from Copilot and sharder996 October 21, 2025 12:27
@xmkg xmkg marked this pull request as ready for review October 21, 2025 12:27
Copy link

@Copilot Copilot AI left a 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>
@sharder996
Copy link
Collaborator

Is there a reason why we need to be running Intel macOS-15 runners?

@xmkg
Copy link
Member Author

xmkg commented Oct 21, 2025

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.

case job["runs-on"]?.endsWith("-intel"):
job.arch = "x86_64";
break;
case job["runs-on"]?.endsWith("-arm"):
Copy link
Collaborator

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?

job.mono = "mono"
switch (true) {
case job["runs-on"]?.endsWith("-intel"):
Copy link
Collaborator

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.

Comment on lines 75 to 82
switch (true) {
case job["runs-on"]?.endsWith("-intel"):
job.arch = "x86_64";
break;
case job["runs-on"]?.endsWith("-arm"):
job.arch = "arm64";
break;
}
Copy link
Collaborator

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.

Copy link
Member Author

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.

Copy link
Member Author

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.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found the original commit:

bbe964b

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.

@sharder996
Copy link
Collaborator

Also, the macOS-13 Intel runners are deprecated and will be removed this December.

Good to know. Guess we will need to prioritize backwards compatible macOS builds.

Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants