Class: GitHubRunnerMatrix

Inherits:
Object show all
Defined in:
github_runner_matrix.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(testing_formulae, deleted_formulae, all_supported:, dependent_matrix:) ⇒ void

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Parameters:



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'github_runner_matrix.rb', line 48

def initialize(testing_formulae, deleted_formulae, all_supported:, dependent_matrix:)
  if all_supported && (testing_formulae.present? || deleted_formulae.present? || dependent_matrix)
    raise ArgumentError, "all_supported is mutually exclusive to other arguments"
  end

  @testing_formulae = T.let(testing_formulae, T::Array[TestRunnerFormula])
  @deleted_formulae = T.let(deleted_formulae, T::Array[String])
  @all_supported = T.let(all_supported, T::Boolean)
  @dependent_matrix = T.let(dependent_matrix, T::Boolean)
  @compatible_testing_formulae = T.let({}, T::Hash[GitHubRunner, T::Array[TestRunnerFormula]])
  @formulae_with_untested_dependents = T.let({}, T::Hash[GitHubRunner, T::Array[TestRunnerFormula]])

  @runners = T.let([], T::Array[GitHubRunner])
  generate_runners!

  freeze
end

Instance Attribute Details

#runnersArray<GitHubRunner> (readonly)

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



38
39
40
# File 'github_runner_matrix.rb', line 38

def runners
  @runners
end

Instance Method Details

#active_runner_specs_hashArray<RunnerSpecHash>

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Array<RunnerSpecHash>)


67
68
69
70
71
# File 'github_runner_matrix.rb', line 67

def active_runner_specs_hash
  runners.select(&:active)
         .map(&:spec)
         .map(&:to_h)
end