Sha256: 1524bc3d637e94371a4a812763f63f3adc566141dc7c79da8976ba80dfe20e7a
Contents?: true
Size: 994 Bytes
Versions: 2
Compression:
Stored size: 994 Bytes
Contents
require_relative "./base" require "yaml" require "active_support/core_ext/enumerable" module ManageIQ::CrossRepo class Runner class Github < Base CONFIG_FILE = ".github/workflows/ci.yaml".freeze def self.available? File.exist?(CONFIG_FILE) end private def ci_config github_config = YAML.load_file(CONFIG_FILE) steps = github_config["jobs"]["ci"]["steps"] steps_by_name = steps.index_by { |step| step["name"] } language = steps.any? { |s| s["uses"].to_s.start_with?("ruby/setup-ruby") } ? "ruby" : "node_js" result = {"language" => language} result["before_install"] = steps_by_name["Set up system"]["run"] if steps_by_name["Set up system"] result["before_script"] = steps_by_name["Prepare tests"]["run"] if steps_by_name["Prepare tests"] result["script"] = steps_by_name["Run tests"]["run"] if steps_by_name["Run tests"] result end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
manageiq-cross_repo-2.4.0 | lib/manageiq/cross_repo/runner/github.rb |
manageiq-cross_repo-2.3.1 | lib/manageiq/cross_repo/runner/github.rb |