diff --git a/action.yml b/action.yml index 68a7821..7869774 100644 --- a/action.yml +++ b/action.yml @@ -35,6 +35,9 @@ inputs: compiled_modules: description: 'Whether to run tests with `compiled-modules`. For possible values, refer to https://docs.julialang.org/en/v1/manual/command-line-interface/#command-line-interface' default: 'yes' + allow_reresolve: + description: 'Whether to allow re-resolving of package versions in the test environment. Only effective on Julia 1.9+. Options: true | false. Default value: true' + default: 'true' runs: using: 'composite' @@ -70,3 +73,4 @@ runs: FORCE_LATEST_COMPATIBLE_VERSION: ${{ inputs.force_latest_compatible_version }} CHECK_BOUNDS: ${{ inputs.check_bounds }} COMPILED_MODULES: ${{ inputs.compiled_modules }} + ALLOW_RERESOLVE: ${{ inputs.allow_reresolve }} diff --git a/kwargs.jl b/kwargs.jl index 2a3c36b..03992af 100644 --- a/kwargs.jl +++ b/kwargs.jl @@ -6,6 +6,7 @@ include(joinpath(@__DIR__, "autodetect-dependabot.jl")) function kwargs(; coverage, force_latest_compatible_version, + allow_reresolve, julia_args::AbstractVector{<:AbstractString}=String[]) if coverage isa AbstractString coverage = parse(Bool, coverage) @@ -51,6 +52,10 @@ function kwargs(; coverage, kwargs_dict[:force_latest_compatible_version] = force_latest_compatible_version::Bool end + if VERSION >= v"1.9" + kwargs_dict[:allow_reresolve] = parse(Bool, allow_reresolve) + end + return kwargs_dict end diff --git a/test_harness.jl b/test_harness.jl index 90f7317..56d2757 100644 --- a/test_harness.jl +++ b/test_harness.jl @@ -2,6 +2,7 @@ import Pkg include("kwargs.jl") kwargs = Kwargs.kwargs(; coverage=ENV["COVERAGE"], force_latest_compatible_version=ENV["FORCE_LATEST_COMPATIBLE_VERSION"], + allow_reresolve=ENV["ALLOW_RERESOLVE"], julia_args=[string("--check-bounds=", ENV["CHECK_BOUNDS"]), string("--compiled-modules=", ENV["COMPILED_MODULES"])]) @@ -11,7 +12,7 @@ if parse(Bool, ENV["ANNOTATE"]) && v"1.8pre" < VERSION < v"1.9.0-beta3" global_logger(GitHubActionsLogger()) include("test_logger.jl") pop!(LOAD_PATH) - TestLogger.test(; kwargs...) + TestLogger.test(; kwargs...) else - Pkg.test(; kwargs...) + Pkg.test(; kwargs...) end