mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Merge pull request #20156 from abitrolly/url-from-latest-release
create: detect URL from latest release if it isn't archive
This commit is contained in:
commit
c86a5a1b74
@ -14,6 +14,9 @@ module Homebrew
|
|||||||
sig { returns(Version) }
|
sig { returns(Version) }
|
||||||
attr_reader :version
|
attr_reader :version
|
||||||
|
|
||||||
|
sig { returns(String) }
|
||||||
|
attr_reader :url
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
attr_reader :head
|
attr_reader :head
|
||||||
|
|
||||||
@ -79,6 +82,9 @@ module Homebrew
|
|||||||
latest_release = GitHub.get_latest_release(user, repository)
|
latest_release = GitHub.get_latest_release(user, repository)
|
||||||
version = Version.new(latest_release.fetch("tag_name"))
|
version = Version.new(latest_release.fetch("tag_name"))
|
||||||
odebug "github: version from latest_release: #{version}"
|
odebug "github: version from latest_release: #{version}"
|
||||||
|
|
||||||
|
@url = "https://github.com/#{user}/#{repository}/archive/refs/tags/#{version}.tar.gz"
|
||||||
|
odebug "github: url changed to source archive #{@url}"
|
||||||
rescue GitHub::API::HTTPNotFoundError
|
rescue GitHub::API::HTTPNotFoundError
|
||||||
odebug "github: latest_release lookup failed: #{url}"
|
odebug "github: latest_release lookup failed: #{url}"
|
||||||
end
|
end
|
||||||
|
@ -41,6 +41,7 @@ RSpec.describe Homebrew::FormulaCreator do
|
|||||||
github_user_repository: ["buildpacks", "pack"],
|
github_user_repository: ["buildpacks", "pack"],
|
||||||
latest_release: { "tag_name" => "v0.37.0" },
|
latest_release: { "tag_name" => "v0.37.0" },
|
||||||
expected_name: "pack",
|
expected_name: "pack",
|
||||||
|
expected_url: "https://github.com/buildpacks/pack/archive/refs/tags/v0.37.0.tar.gz",
|
||||||
expected_version: "v0.37.0",
|
expected_version: "v0.37.0",
|
||||||
},
|
},
|
||||||
"GitHub URL with name override": {
|
"GitHub URL with name override": {
|
||||||
@ -69,6 +70,9 @@ RSpec.describe Homebrew::FormulaCreator do
|
|||||||
else
|
else
|
||||||
expect(formula_creator.version).to be_null
|
expect(formula_creator.version).to be_null
|
||||||
end
|
end
|
||||||
|
if (expected_url = test[:expected_url])
|
||||||
|
expect(formula_creator.url).to eq(expected_url)
|
||||||
|
end
|
||||||
expect(formula_creator.head).to eq(test.fetch(:expected_head, false))
|
expect(formula_creator.head).to eq(test.fetch(:expected_head, false))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user