Replies: 2 comments 1 reply
-
Is the |
Beta Was this translation helpful? Give feedback.
1 reply
-
Advice from @zhang2014 We can allow PR to be merged without waiting macOS's CI results. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Related issue: #5876
Background
macOS build is the main bottleneck of our CI:
macOS build is the slowest.
Ideally, our CI should finish within 30 minutes. But macOS may need up to 50 minutes to build. We need to find some way to address this issue.
macOS build has the smallest quantity.
Compared to 30 Linux runners (20 hosted + 10 self-hosted), we only have 5 hosted mac runners. We often wait for macOS runners.
Proposal
So I propose to: make macOS check optional and allow PR get merged without waiting for macOS.
With this change, we can remove the
required
limit ofcheck
, so all our builds can happen concurrently.For the bast case: We can make the developing CI finished inside 20 minutes!
Rational
Why not use self-hosted macOS runners?
It's expensive.
macOS runners are expensive (much more expensive than Linux instances, thanks to Apple)
It's hard to maintain.
macOS runners can't fit our existing runners' framework. We have to maintain macOS runners by ourselves. It's a huge burden for our developers.
Notice that we don't have a dedicated human to help maintain the runners. @everpcpc maintain them at his part-time job.
Why not add an automated job for macOS build?
It's nice to have a
/run-macos-test
command ormacos-test
label to trigger macOS builds.But we don't want to maintain too much automated infra, let's start with the simple way.
Implementation
Implemented in #5884
Beta Was this translation helpful? Give feedback.
All reactions