Merge pull request #19672 from Homebrew/fix_bump_cask_pr_os_arch

dev-cmd/bump-cask-pr: fix Linux cask bumping.
This commit is contained in:
Mike McQuaid 2025-04-01 13:20:08 +00:00 committed by GitHub
commit f9baac24a2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -191,17 +191,22 @@ module Homebrew
}
def replace_version_and_checksum(cask, new_hash, new_version, replacement_pairs)
# When blocks are absent, arch is not relevant. For consistency, we simulate the arm architecture.
system_options = if !cask.on_system_blocks_exist?
[[:macos, :arm]]
elsif cask.on_system_blocks_exist? && cask.depends_on.macos
[:macos].product(OnSystem::ARCH_OPTIONS)
else
system_options = if cask.on_system_blocks_exist?
OnSystem::BASE_OS_OPTIONS.product(OnSystem::ARCH_OPTIONS)
else
[[:macos, :arm]]
end
system_options.each do |os, arch|
SimulateSystem.with(os:, arch:) do
old_cask = Cask::CaskLoader.load(cask.sourcefile_path)
# Handle the cask being invalid for specific os/arch combinations
old_cask = begin
Cask::CaskLoader.load(cask.sourcefile_path)
rescue Cask::CaskInvalidError
raise unless cask.on_system_blocks_exist?
end
next if old_cask.nil?
old_version = old_cask.version
bump_version = new_version.send(arch) || new_version.general