Skip to content

Conversation

@rnro
Copy link
Contributor

@rnro rnro commented Apr 1, 2025

Add support for macOS CI runner pools

Motivation:

With new runners coming online we are separating the runners into pools.

  • "nightly" runners are to be targeted for asynchronous work which users
    aren't waiting on such as overnight work.
  • "general" runners can be used for either synchronoous or asynchronous
    work.
  • At the moment all runers are "general" runners, a subset are "nightly"
    runners.

The aim here is to prioritize work which users are waiting for such as
on PRs. Asynchronous work prioritizing the "nightly" runners will likely
end up queuing for the contended runners but synchronous work will claim
any available node.

Modifications:

  • Add a runner_pool input for the macOS workflow
  • Default the runner_pool to nightly since the vast majority of
    existing workflows are specifying asynchronous work.
  • Specify the runner pool in NIO's use of macOS CI.

Result:

Support for runner pools.

An example of this in action: https://github.com/apple/swift-nio/actions/runs/14188573697/job/39748250001

@rnro rnro added the semver/none No version bump required. label Apr 1, 2025
Motivation:

With new runners coming online we are separating the runners into pools.
* "nightly" runners are to be targeted for asynchronous work which users
aren't waiting on such as overnight work.
* "general" runners can be used for either synchronoous or asynchronous
  work.
* At the moment all runers are "general" runners, a subset are "nightly"
  runners.

The aim here is to prioritize work which users are waiting for such as
on PRs. Asynchronous work prioritizing the "nightly" runners will likely
end up queuing for the contended runners but synchronous work will claim
any available node.

Modifications:

* Add a `runner_pool` input for the macOS workflow
* Default the `runner_pool` to `nightly` since the vast majority of
  existing workflows are specifying asynchronous work.
* Specify the runner pool in NIO's use of macOS CI.

Result:

Support for runner pools.
@rnro rnro force-pushed the macos_ci_pools branch from ec8895c to f266d15 Compare April 1, 2025 06:04
@rnro rnro force-pushed the macos_ci_pools branch from f266d15 to 18fe18a Compare April 1, 2025 06:15
This reverts commit 18fe18a.
@rnro rnro marked this pull request as ready for review April 1, 2025 06:17
@rnro rnro changed the title Macos ci pools macOS CI Pools Apr 1, 2025
@rnro rnro changed the title macOS CI Pools macOS CI pools Apr 1, 2025
Copy link
Contributor

@czechboy0 czechboy0 left a comment

Choose a reason for hiding this comment

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

Nice!

@czechboy0 czechboy0 merged commit be80eb6 into main Apr 1, 2025
1 check passed
@czechboy0 czechboy0 deleted the macos_ci_pools branch April 1, 2025 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver/none No version bump required.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants