cask/audit: correctly filter artifact types in test

This commit is contained in:
Bevan Kay 2025-08-18 13:22:20 +10:00
parent 160af073a5
commit c566ba00c7
No known key found for this signature in database
GPG Key ID: C55CB024B5314B57

View File

@ -672,10 +672,17 @@ module Cask
mentions_rosetta = cask.caveats.include?("requires Rosetta 2") mentions_rosetta = cask.caveats.include?("requires Rosetta 2")
requires_intel = cask.depends_on.arch&.any? { |arch| arch[:type] == :intel } requires_intel = cask.depends_on.arch&.any? { |arch| arch[:type] == :intel }
any_requires_rosetta = artifacts.any? do |artifact| artifacts_to_test = artifacts.filter do |artifact|
next false if !artifact.is_a?(Artifact::App) && !artifact.is_a?(Artifact::Binary) next false if !artifact.is_a?(Artifact::App) && !artifact.is_a?(Artifact::Binary)
next false if artifact.is_a?(Artifact::Binary) && is_container next false if artifact.is_a?(Artifact::Binary) && is_container
true
end
next if artifacts_to_test.blank?
any_requires_rosetta = artifacts_to_test.any? do |artifact|
artifact = T.cast(artifact, T.any(Artifact::App, Artifact::Binary))
path = tmpdir/artifact.source.relative_path_from(cask.staged_path) path = tmpdir/artifact.source.relative_path_from(cask.staged_path)
result = case artifact result = case artifact