Skip to content

Commit

Permalink
Merge pull request #18030 from Homebrew/revert-17926-ww/gh-too-old
Browse files Browse the repository at this point in the history
Revert "attestation: specialize error when `gh` is old"
  • Loading branch information
Bo98 committed Aug 12, 2024
2 parents aafa81b + 09c12d8 commit b9e714d
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 9 deletions.
5 changes: 1 addition & 4 deletions Library/Homebrew/attestation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,6 @@ def self.enabled?
return false if ENV.fetch("CI", false)
return false if OS.unsupported_configuration?

gh_version = Formula["gh"].any_installed_version
return false if gh_version.nil? || gh_version < "2.49"

# Always check credentials last to avoid unnecessary credential extraction.
(Homebrew::EnvConfig.developer? || Homebrew::EnvConfig.devcmdrun?) && GitHub::API.credentials.present?
end
Expand All @@ -81,7 +78,7 @@ def self.gh_executable
# to prevent a cycle during bootstrapping. This can eventually be resolved
# by vendoring a pure-Ruby Sigstore verifier client.
with_env(HOMEBREW_NO_VERIFY_ATTESTATIONS: "1") do
@gh_executable = ensure_formula_installed!("gh", reason: "verifying attestations", latest: true).opt_bin/"gh"
@gh_executable = ensure_executable!("gh", reason: "verifying attestations", latest: true)
end

T.must(@gh_executable)
Expand Down
9 changes: 4 additions & 5 deletions Library/Homebrew/test/attestation_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

RSpec.describe Homebrew::Attestation do
let(:fake_gh) { Pathname.new("/extremely/fake/gh") }
let(:fake_gh_formula) { instance_double(Formula, opt_bin: Pathname.new("/extremely/fake")) }
let(:fake_old_gh) { Pathname.new("/extremely/fake/old/gh") }
let(:fake_gh_creds) { "fake-gh-api-token" }
let(:fake_error_status) { instance_double(Process::Status, exitstatus: 1, termsig: nil) }
Expand Down Expand Up @@ -67,12 +66,12 @@
end

describe "::gh_executable" do
it "calls ensure_formula_installed" do
expect(described_class).to receive(:ensure_formula_installed!)
it "calls ensure_executable" do
expect(described_class).to receive(:ensure_executable!)
.with("gh", reason: "verifying attestations", latest: true)
.and_return(fake_gh_formula)
.and_return(fake_gh)

described_class.gh_executable == fake_gh
described_class.gh_executable
end
end

Expand Down

0 comments on commit b9e714d

Please sign in to comment.