From 69a7a77dfceab3525a4f5020cb8c5f03e876e6b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 25 Feb 2025 13:48:22 +0100 Subject: [PATCH 1/3] Adapt tests --- test/jll.jl | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/jll.jl b/test/jll.jl index 34561cb8..96449ef2 100644 --- a/test/jll.jl +++ b/test/jll.jl @@ -45,12 +45,15 @@ module TestJLL end @testset "filter_main_tarball" begin @test !BinaryBuilder.filter_main_tarball("", AnyPlatform()) - @test BinaryBuilder.filter_main_tarball("Foo.v1.2.3.x86_64-linux-gnu.tar.gz", Platform("x86_64", "linux")) - @test !BinaryBuilder.filter_main_tarball("Foo-logs.v1.2.3.x86_64-linux-gnu.tar.gz", Platform("x86_64", "linux")) - @test !BinaryBuilder.filter_main_tarball("Foo.v1.2.3.x86_64-linux-gnu-cxx11.tar.gz", Platform("x86_64", "linux")) - @test !BinaryBuilder.filter_main_tarball("Foo.v1.2.3.x86_64-linux-gnu.tar.gz", Platform("x86_64", "linux"; cxxstring_abi="cxx11")) - @test BinaryBuilder.filter_main_tarball("Foo_Bar.v1.2.3.aarch64-linux-gnu-cuda+12.0-cuda_platform+jetson.tar.gz", Platform("aarch64", "linux"; cuda="12.0", cuda_platform="jetson")) - @test BinaryBuilder.filter_main_tarball("Foo_Bar.v1.2.3.aarch64-linux-gnu-cuda_platform+jetson-cuda+12.0.tar.gz", Platform("aarch64", "linux"; cuda="12.0", cuda_platform="jetson")) + @test BinaryBuilder.filter_main_tarball("F/Foo/products/Foo.v1.2.3.any.tar.gz", AnyPlatform()) + @test BinaryBuilder.filter_main_tarball("F/Foo/products/Foo.v1.2.3.x86_64-linux-gnu.tar.gz", Platform("x86_64", "linux")) + @test !BinaryBuilder.filter_main_tarball("F/Foo/products/Foo-logs.v1.2.3.x86_64-linux-gnu.tar.gz", Platform("x86_64", "linux")) + @test !BinaryBuilder.filter_main_tarball("F/Foo/products/Foo.v1.2.3.x86_64-linux-gnu-cxx11.tar.gz", Platform("x86_64", "linux")) + @test !BinaryBuilder.filter_main_tarball("F/Foo/products/Foo.v1.2.3.x86_64-linux-gnu.tar.gz", Platform("x86_64", "linux"; cxxstring_abi="cxx11")) + @test BinaryBuilder.filter_main_tarball("F/Foo/products/Foo.v1.2.3.x86_64-linux-gnu-cxx11.tar.gz", Platform("x86_64", "linux"; cxxstring_abi="cxx11")) + @test BinaryBuilder.filter_main_tarball("F/Foo_Bar/products/Foo_Bar.v1.2.3.aarch64-linux-gnu-cuda+12.0-cuda_platform+jetson.tar.gz", Platform("aarch64", "linux"; cuda="12.0", cuda_platform="jetson")) + @test BinaryBuilder.filter_main_tarball("F/Foo_Bar/products/Foo_Bar.v1.2.3.aarch64-linux-gnu-cuda_platform+jetson-cuda+12.0.tar.gz", Platform("aarch64", "linux"; cuda="12.0", cuda_platform="jetson")) + @test BinaryBuilder.filter_main_tarball("F/Foo/Foo@1.2/products/Foo.v1.2.3.x86_64-linux-gnu.tar.gz", Platform("x86_64", "linux")) end @testset "get_github_author_login" begin From 683cb120bbff3e999edc29d6ee108425fbf69829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 25 Feb 2025 14:01:20 +0100 Subject: [PATCH 2/3] Fix path parsing in `filter_main_tarball` --- src/AutoBuild.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AutoBuild.jl b/src/AutoBuild.jl index 76503f20..c032a782 100644 --- a/src/AutoBuild.jl +++ b/src/AutoBuild.jl @@ -1168,7 +1168,7 @@ function filter_main_tarball(tarball_filename, platform) if occursin("-logs.", tarball_filename) return false end - tarball_filename_match = match(r"^(?[\w_]+)\.v(?\d+\.\d+\.\d+)\.(?([^-]+-?)+).tar", tarball_filename) + tarball_filename_match = match(r"^(.*/)?(?[\w_]+)\.v(?\d+\.\d+\.\d+)\.(?([^-]+-?)+).tar", tarball_filename) if isnothing(tarball_filename_match) @warn "Tarball filename does not match expected pattern: $(tarball_filename)" return false From 4728c9d5e2339eaa053b8513476a90a84ae9d88b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Tue, 25 Feb 2025 14:04:37 +0100 Subject: [PATCH 3/3] Fix handling of AnyPlatform --- src/AutoBuild.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/AutoBuild.jl b/src/AutoBuild.jl index c032a782..b8f3b625 100644 --- a/src/AutoBuild.jl +++ b/src/AutoBuild.jl @@ -1174,6 +1174,9 @@ function filter_main_tarball(tarball_filename, platform) return false end try + if platform isa AnyPlatform + return tarball_filename_match[:platform_triplet] == "any" + end tarball_filename_platform = parse(Platform, tarball_filename_match[:platform_triplet]) return tarball_filename_platform == platform catch