Skip to content

ci: stop installing Mono - #5794

Closed
ric-oliv wants to merge 1 commit into
mainfrom
ci/stop-installing-mono
Closed

ric-oliv wants to merge 1 commit into
mainfrom
ci/stop-installing-mono

Conversation

@ric-oliv

@ric-oliv ric-oliv commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Every Linux and macOS job that uses Setup Environment installs Mono, but nothing runs it anymore.

On Ubuntu the install downloads 53 MB from azure.archive.ubuntu.com. On October 23 that download crawled at 43 to 59 kB/s and took 15 to 21 minutes in 4 linux-x64 legs and 1 Android device test job. It made linux-x64 the slowest leg on #5791, and an Android run took 41 minutes on #5793.

This PR removes both Mono steps from Setup Environment:

  • apt install mono-devel on Ubuntu, together with the chmod that only repaired the /usr/share/dotnet permissions Mono's install had changed,
  • brew install mono on macOS.

In #5788's logs the Mono step took 15 to 18 seconds on macOS jobs, 30 to 55 seconds on Linux jobs, and 403 seconds on its linux-x64 leg. So this saves under a minute on a good run, and up to 20 minutes when the mirror is slow.

Measured on the first run. Every job passed, so setup-dotnet doesn't need the chmod.

Before This PR
Android Device Tests median 45.8 min over the last 10 PR runs, 28.9 to 57.3 27.4
Setup Environment in the Android test jobs ~3.5, but 9 to 26 in 11 of 40 jobs, in 7 of those 10 runs 2.8 to 3.0
Setup Environment in the Android build jobs 2.6 to 3.3 2.5 to 2.6
Setup Environment on linux-x64 ~3.3, but 9 to 23.5 in 7 of the previous 19 build runs 2.7
Setup Environment on macOS 2.8 to 3.8 2.5

#5795 moves the Android test jobs from the ubuntu-latest-4-cores larger runner to ubuntu-latest.

The build workflow took 49.4 minutes on this run, because win-arm64 drew a slow host: its Build step took 13 minutes, against about 8 normally. That's unrelated to this change.

#skip-changelog

Every Linux and macOS job installed Mono, but nothing runs it. #4545
added it for the net4-console integration test, which ran the .NET
Framework app through Mono there. Two weeks later #4461 made that test
Windows-only, and the logs show it skipped on Linux and macOS. The .NET
Framework unit tests only build on Windows too.

On Ubuntu the install downloads 53 MB from the package mirror. On
October 23 that download took 15 to 21 minutes in 4 linux-x64 legs and
1 Android device test job. The chmod after it only repaired the
/usr/share/dotnet permissions that installing Mono had changed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.12%. Comparing base (b41b96c) to head (532260d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5794      +/-   ##
==========================================
- Coverage   76.13%   76.12%   -0.02%     
==========================================
  Files         528      528              
  Lines       19579    19579              
  Branches     3829     3829              
==========================================
- Hits        14906    14904       -2     
- Misses       3791     3792       +1     
- Partials      882      883       +1     

☔ View full report in Codecov by Harness.
📢 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.

@ric-oliv

Copy link
Copy Markdown
Member Author

I'm continuing this in #5807, part 1 of 6 in #5806, so the CI changes can be reviewed in a few steps instead of 13 PRs. The measurements here stay as the record.

@ric-oliv ric-oliv closed this Oct 25, 2026
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.

1 participant