44 Commits

Author SHA1 Message Date
Carlo Cabrera
7478bbe76e
Revert "Revert "github_runner_matrix: enable usage of macos-15 runners"" 2024-09-27 10:22:10 +08:00
Michael Cho
eea7fc7a7b
Revert "github_runner_matrix: enable usage of macos-15 runners"
This reverts commit 6acce77817f442da67415dd6e73a6eb19a24ae4f.
2024-09-25 23:31:04 -04:00
Carlo Cabrera
6acce77817
github_runner_matrix: enable usage of macos-15 runners
https://github.blog/changelog/2024-09-25-actions-new-images-and-ubuntu-latest-changes/
ae99c16b0c/README.md (available-images)
2024-09-26 00:56:42 +08:00
Douglas Eichelberger
eeb31d3050 Fix violations 2024-09-20 11:07:00 -07:00
Carlo Cabrera
c5563dbb0f
github_runner_matrix: include 15-x86_64 with --all-supported
Part of #18356.
2024-09-20 00:27:43 +08:00
Carlo Cabrera
51c4421409
Change default Homebrew/core CI runners
We will now build on Ventura (macOS 13) to Sequoia (macOS 15).

Runners for macOS 15-x86_64 will not be allocated by default due to a
lack of appropriate hardware.
2024-09-12 22:06:10 +08:00
Carlo Cabrera
1e07fb2841
Remove :big_sur GitHub macOS runner
https://github.blog/changelog/2024-05-20-actions-upcoming-changes-to-github-hosted-macos-runners/

Co-authored-by: Bo Anderson <mail@boanderson.me>
2024-09-11 11:51:35 +08:00
Carlo Cabrera
d0d1d451ae
github_runner_matrix: decouple macOS versions from MacOSVersion#supported_release?
See discussion at #18296.
2024-09-11 11:25:53 +08:00
Carlo Cabrera
c61492ac91
Fix logic error in active_runner?
We should only activate a runner when there are deleted formulae if it
isn't a dependent matrix.
2024-08-28 10:50:18 +08:00
Carlo Cabrera
3588f1b8c5
github_runner_matrix: filter incompatible testing formulae
`brew test-bot` can occasionally spend a long time doing nothing when
testing dependents.[^1] This is because it takes a long time to work out
that there is nothing to do.

To fix this, let's adjust `brew determine-test-runners` to pass on only
the list of formulae for which there is work to be done so that
`brew test-bot` doesn't need to waste time working this out.

[^1]: For example, it spends about 15 minutes doing nothing at https://github.com/Homebrew/homebrew-core/actions/runs/10500178069/job/29133091332?pr=180185
2024-08-26 08:10:31 +08:00
Carlo Cabrera
a9c8556b9d
github_runner_matrix: define timeout values in constants
This allows us to keep all information about timeout values here in
`brew` instead of both here and in Homebrew/core.

Will be needed after Homebrew/homebrew-core#171457.
2024-05-12 04:48:00 +08:00
Carlo Cabrera
71c4bfae79
Merge pull request #17222 from Homebrew/intel-runner-tag
github_runner_matrix: add `-x86_64` to Intel runner names
2024-05-12 02:19:47 +08:00
Carlo Cabrera
f92b2f21c0
github_runner_matrix: add -x86_64 to Intel runner names
See Homebrew/ci-orchestrator#15.

Needs Homebrew/ci-orchestrator#15.
2024-05-03 20:22:07 +01:00
Carlo Cabrera
1084485c3a
github_runner_matrix: support orchestrator long build queues
This is needed after Homebrew/ci-orchestrator#13.
2024-05-03 16:29:22 +01:00
Ruoyu Zhong
4820c47bf0
github_runner_matrix: simplify
Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
2024-04-14 00:02:37 +08:00
Ruoyu Zhong
3c3ee46f08
github_runner_matrix: increase timeout for self-hosted 12-x86_64
It is usually slower than other Intel runners and has timed out more
often recently.
2024-04-13 20:09:40 +08:00
Carlo Cabrera
d9cd55eca9
github_runner_matrix: support GitHub-hosted M1 macOS runners
Also, we don't build for Big Sur anymore, so remove the special case for
Big Sur timeouts here.
2024-04-08 15:34:26 +08:00
Mike McQuaid
ea2892f8ee
brew.rb: handle missing args. 2024-03-07 16:20:20 +00:00
Bo Anderson
d756d7b356
github_runner_matrix: discontinue non-ephemeral runners 2024-01-18 23:22:18 +00:00
Issy Long
149b0e4f31
Fix new Style/MutableConstant RuboCop offenses for Ruby 3.1
- A follow-up to de592af20bbff5bcb548d2474f0722e59ff1129a, resetting the previous disabled comments too.
2023-12-16 11:57:06 +00:00
Issy Long
de592af20b
rubocop: Set TargetRubyVersion to 3.1 & disable all cops that fail
- As discussed in
  https://github.com/Homebrew/brew/pull/16337#issuecomment-1855668516,
  then we won't have the chicken/egg problem of fixing cops for syntax
  that's unsupported on Ruby 2.6 _before_ we set the TargetRubyVersion
  to 3.1, but if we set it too early then all the taps will fail.
2023-12-14 23:19:43 +00:00
Bo Anderson
ca549fa10d
dev-cmd/determine-test-runner: add --all-supported 2023-11-17 02:11:01 +00:00
Carlo Cabrera
40166eb5e7
github_runner_matrix: remove GITHUB_RUN_ATTEMPT
This should no longer be needed after
Homebrew/ci-orchestrator@845d26ccc0.
2023-05-29 22:36:00 +08:00
Markus Reiter
8274920217
Rename OS::Mac::Version to MacOSVersion. 2023-05-09 05:08:38 +02:00
Carlo Cabrera
0b33a09090
github_runner_matrix: align Intel and ARM timeouts
This prevents situations where the Intel runners have a 360 minute
timeout but the ARM runners only have 45 minutes.

See Homebrew/homebrew-core#130284.
2023-05-07 00:14:54 +08:00
Carlo Cabrera
27eed480ee
github_runner_matrix: improve macOS timeout handling
1. Use the maximum timeout possible for GitHub-hosted macOS runners
2. When using a short timeout, use an even shorter timeout on ARM
   runners.

Our ARM runners are typically at least twice as fast as our Intel
runners on any given job. So, if it takes an ARM runner over half the
timeout to complete a job, it's almost certain that the Intel runner
will not complete the job within the timeout.

Setting an even shorter timeout on the ARM runners will help us abandon
jobs that are unlikely to be completed within the timeout well before we
hit the requested timeout.
2023-05-03 17:55:57 +08:00
Mike McQuaid
9d5b017bb9
Merge pull request #15322 from carlocab/rm-linux-cleanup
github_runner_matrix: remove `HOMEBREW_LINUX_CLEANUP`
2023-04-27 12:28:45 +01:00
Carlo Cabrera
ff728da97b
github_runner_matrix: remove HOMEBREW_LINUX_CLEANUP
This will allow us to remove handling of this in our workflow files in
Homebrew/core.
2023-04-27 16:45:51 +08:00
Carlo Cabrera
b339d9f8be
github_runner_matrix: cleanup GitHub macOS runner
These come with some pre-installed software that we probably want to
clean up first.
2023-04-27 09:59:22 +08:00
Mike McQuaid
6b33197d54
Merge pull request #15313 from carlocab/deps-build-on-github
github_runner_matrix: test dependents on GitHub runners
2023-04-27 00:34:54 +01:00
Carlo Cabrera
947a37d794
github_runner_matrix: test dependents on GitHub runners
This makes our dependent tests run on a GitHub macOS runner if
compatible with the requested timeout.

This will also allow builds on a GitHub runner on macOS if requested
with the environment variable `HOMEBREW_MACOS_BUILD_ON_GITHUB_RUNNER`.
This environment variable will need to be set in the workflow as
appropriate (e.g. when requested by a label).
2023-04-26 11:51:40 +08:00
Douglas Eichelberger
08af78a2a5 brew style --fix 2023-04-25 09:26:24 -07:00
Carlo Cabrera
e69e8e04c1
Merge pull request #15309 from carlocab/longer-big-sur-timeout
github_runner_matrix: set `timeout` on macOS
2023-04-25 17:52:51 +08:00
Carlo Cabrera
97655276b2
github_runner_matrix: simplify 2023-04-25 14:54:44 +08:00
Carlo Cabrera
3baacbbc72
github_runner_matrix: set timeout on macOS
This will allow us to set a slightly longer timeout on Intel Big Sur,
which is useful because the Intel Big Sur runner often exceeds our short
time limit by itself.
2023-04-25 14:42:36 +08:00
Douglas Eichelberger
24cf6076e8 brew style --fix 2023-04-24 20:42:39 -07:00
Carlo Cabrera
90f8bd5127
github_runner_matrix: fix dependent runner assignment 2023-04-12 02:37:37 +08:00
Carlo Cabrera
fdc113d85c
os/mac/version: add unsupported_release? helper 2023-04-07 22:21:08 +08:00
Carlo Cabrera
3d5218892d
github_runner_matrix: split into separate files 2023-04-07 19:10:28 +08:00
Carlo Cabrera
5ecd24ba20
Prefer public_send to send 2023-04-07 01:47:11 +08:00
Carlo Cabrera
d1b782fd68
github_runner_matrix: simplify 2023-04-06 03:33:34 +08:00
Carlo Cabrera
87373ff12a
Move more code out of dev-cmd 2023-04-06 02:13:15 +08:00
Carlo Cabrera
0c56540831
Fix --dependents breakage
Without this, we sometimes mistakenly assign runners to dependents jobs
when we don't have to.
2023-04-05 04:25:28 +08:00
Carlo Cabrera
868f9395b6
Extract code to GitHubRunnerMatrix class
The `GitHubRunnerMatrix` takes a list of testing formulae, deleted
formulae, and the available runners and constructs the matrix of active
runners for any given test job.
2023-04-05 03:52:26 +08:00