mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Merge pull request #15313 from carlocab/deps-build-on-github
github_runner_matrix: test dependents on GitHub runners
This commit is contained in:
commit
6b33197d54
@ -100,6 +100,9 @@ class GitHubRunnerMatrix
|
|||||||
runner.freeze
|
runner.freeze
|
||||||
end
|
end
|
||||||
|
|
||||||
|
NEWEST_GITHUB_ACTIONS_MACOS_RUNNER = :ventura
|
||||||
|
GITHUB_ACTIONS_RUNNER_TIMEOUT = 360
|
||||||
|
|
||||||
sig { void }
|
sig { void }
|
||||||
def generate_runners!
|
def generate_runners!
|
||||||
return if @runners.present?
|
return if @runners.present?
|
||||||
@ -109,6 +112,8 @@ class GitHubRunnerMatrix
|
|||||||
github_run_id = ENV.fetch("GITHUB_RUN_ID")
|
github_run_id = ENV.fetch("GITHUB_RUN_ID")
|
||||||
github_run_attempt = ENV.fetch("GITHUB_RUN_ATTEMPT")
|
github_run_attempt = ENV.fetch("GITHUB_RUN_ATTEMPT")
|
||||||
timeout = ENV.fetch("HOMEBREW_MACOS_TIMEOUT").to_i
|
timeout = ENV.fetch("HOMEBREW_MACOS_TIMEOUT").to_i
|
||||||
|
use_github_runner = ENV.fetch("HOMEBREW_MACOS_BUILD_ON_GITHUB_RUNNER", "false") == "true"
|
||||||
|
|
||||||
ephemeral_suffix = +"-#{github_run_id}-#{github_run_attempt}"
|
ephemeral_suffix = +"-#{github_run_id}-#{github_run_attempt}"
|
||||||
ephemeral_suffix << "-deps" if @dependent_matrix
|
ephemeral_suffix << "-deps" if @dependent_matrix
|
||||||
ephemeral_suffix.freeze
|
ephemeral_suffix.freeze
|
||||||
@ -123,9 +128,18 @@ class GitHubRunnerMatrix
|
|||||||
runner_timeout = timeout
|
runner_timeout = timeout
|
||||||
runner_timeout += 30 if macos_version <= :big_sur
|
runner_timeout += 30 if macos_version <= :big_sur
|
||||||
|
|
||||||
|
# Use GitHub Actions macOS Runner for testing dependents if compatible with timeout.
|
||||||
|
runner = if (@dependent_matrix || use_github_runner) &&
|
||||||
|
macos_version <= NEWEST_GITHUB_ACTIONS_MACOS_RUNNER &&
|
||||||
|
runner_timeout <= GITHUB_ACTIONS_RUNNER_TIMEOUT
|
||||||
|
"macos-#{version}"
|
||||||
|
else
|
||||||
|
"#{version}#{ephemeral_suffix}"
|
||||||
|
end
|
||||||
|
|
||||||
spec = MacOSRunnerSpec.new(
|
spec = MacOSRunnerSpec.new(
|
||||||
name: "macOS #{version}-x86_64",
|
name: "macOS #{version}-x86_64",
|
||||||
runner: "#{version}#{ephemeral_suffix}",
|
runner: runner,
|
||||||
timeout: runner_timeout,
|
timeout: runner_timeout,
|
||||||
cleanup: false,
|
cleanup: false,
|
||||||
)
|
)
|
||||||
|
@ -8,6 +8,7 @@ describe GitHubRunnerMatrix do
|
|||||||
allow(ENV).to receive(:fetch).with("HOMEBREW_LINUX_RUNNER").and_return("ubuntu-latest")
|
allow(ENV).to receive(:fetch).with("HOMEBREW_LINUX_RUNNER").and_return("ubuntu-latest")
|
||||||
allow(ENV).to receive(:fetch).with("HOMEBREW_LINUX_CLEANUP").and_return("false")
|
allow(ENV).to receive(:fetch).with("HOMEBREW_LINUX_CLEANUP").and_return("false")
|
||||||
allow(ENV).to receive(:fetch).with("HOMEBREW_MACOS_TIMEOUT").and_return("90")
|
allow(ENV).to receive(:fetch).with("HOMEBREW_MACOS_TIMEOUT").and_return("90")
|
||||||
|
allow(ENV).to receive(:fetch).with("HOMEBREW_MACOS_BUILD_ON_GITHUB_RUNNER", "false").and_return("false")
|
||||||
allow(ENV).to receive(:fetch).with("GITHUB_RUN_ID").and_return("12345")
|
allow(ENV).to receive(:fetch).with("GITHUB_RUN_ID").and_return("12345")
|
||||||
allow(ENV).to receive(:fetch).with("GITHUB_RUN_ATTEMPT").and_return("1")
|
allow(ENV).to receive(:fetch).with("GITHUB_RUN_ATTEMPT").and_return("1")
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user