diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 10dc789c..10e03597 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ env: jobs: test: name: Julia ${{ matrix.julia-version }} - x64 - runner ${{ matrix.runner }} - SquashFS ${{ matrix.squashfs }} - timeout-minutes: 45 + timeout-minutes: 60 runs-on: ubuntu-latest env: BINARYBUILDER_RUNNER: ${{ matrix.runner }} diff --git a/Project.toml b/Project.toml index 587ec6fd..a5ee284c 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "BinaryBuilderBase" uuid = "7f725544-6523-48cd-82d1-3fa08ff4056e" authors = ["Elliot Saba "] -version = "1.0.4" +version = "1.0.5" [deps] CodecZlib = "944b1d66-785c-5afd-91f1-9de20f533193" diff --git a/src/DockerRunner.jl b/src/DockerRunner.jl index 93feca81..91d09b78 100644 --- a/src/DockerRunner.jl +++ b/src/DockerRunner.jl @@ -92,9 +92,11 @@ function DockerRunner(workspace_root::String; generate_compiler_wrappers!(platform; bin_path=compiler_wrapper_path, extract_kwargs(kwargs, (:compilers,:allow_unsafe_flags,:lock_microarchitecture))...) push!(workspaces, compiler_wrapper_path => "/opt/bin") - # Generate CMake and Meson files - generate_toolchain_files!(platform, envs; toolchains_path=toolchains_path) - push!(workspaces, toolchains_path => "/opt/toolchains") + if isempty(bootstrap_list) + # Generate CMake and Meson files, only if we are not bootstrapping + generate_toolchain_files!(platform, envs; toolchains_path=toolchains_path) + push!(workspaces, toolchains_path => "/opt/toolchains") + end # the workspace_root is always a workspace, and we always mount it first insert!(workspaces, 1, workspace_root => "/workspace") diff --git a/src/UserNSRunner.jl b/src/UserNSRunner.jl index 79811fce..7ef33772 100644 --- a/src/UserNSRunner.jl +++ b/src/UserNSRunner.jl @@ -47,9 +47,11 @@ function UserNSRunner(workspace_root::String; generate_compiler_wrappers!(platform; bin_path=compiler_wrapper_path, extract_kwargs(kwargs, (:compilers,:allow_unsafe_flags,:lock_microarchitecture))...) push!(workspaces, compiler_wrapper_path => "/opt/bin") - # Generate CMake and Meson files - generate_toolchain_files!(platform, envs; toolchains_path=toolchains_path) - push!(workspaces, toolchains_path => "/opt/toolchains") + if isempty(bootstrap_list) + # Generate CMake and Meson files, only if we are not bootstrapping + generate_toolchain_files!(platform, envs; toolchains_path=toolchains_path) + push!(workspaces, toolchains_path => "/opt/toolchains") + end # the workspace_root is always a workspace, and we always mount it first insert!(workspaces, 1, workspace_root => "/workspace") diff --git a/test/runners.jl b/test/runners.jl index 28e99def..e948be7b 100644 --- a/test/runners.jl +++ b/test/runners.jl @@ -60,12 +60,16 @@ end @testset "hello world" begin mktempdir() do dir + # Make sure we can start a shell in a runner when the bootstrap list is non-empty + @eval BinaryBuilderBase bootstrap_list = [:rootfs, :platform_support] ur = preferred_runner()(dir; platform=Platform("x86_64", "linux"; libc="musl")) iobuff = IOBuffer() @test run(ur, `/bin/bash -c "echo test"`, iobuff) seek(iobuff, 0) # Test that we get the output we expect (e.g. the second line is `test`) @test readlines(iobuff)[2] == "test" + # Restore empty bootstrap list + @eval BinaryBuilderBase bootstrap_list = Symbol[] end end