mirror of
https://github.com/julia-actions/julia-runtest.git
synced 2026-02-12 11:06:54 +08:00
33 lines
1.3 KiB
Julia
33 lines
1.3 KiB
Julia
module Kwargs
|
|
|
|
import Pkg
|
|
|
|
include(joinpath(@__DIR__, "autodetect-dependabot.jl"))
|
|
|
|
function kwargs(; coverage::Bool,
|
|
force_latest_compatible_version::Union{Bool, Symbol})
|
|
if !(force_latest_compatible_version isa Bool) && (force_latest_compatible_version != :auto)
|
|
throw(ArgumentError("Invalid value for force_latest_compatible_version: $(force_latest_compatible_version)"))
|
|
end
|
|
|
|
kwargs_dict = Dict{Symbol, Any}()
|
|
kwargs_dict[:coverage] = coverage
|
|
|
|
if VERSION < v"1.7.0-" || !hasmethod(Pkg.Operations.test, Tuple{Pkg.Types.Context, Vector{Pkg.Types.PackageSpec}}, (:force_latest_compatible_version,))
|
|
(force_latest_compatible_version != :auto) && @warn("The `force_latest_compatible_version` option requires at least Julia 1.7", VERSION, force_latest_compatible_version)
|
|
return kwargs_dict
|
|
end
|
|
|
|
if force_latest_compatible_version == :auto
|
|
is_dependabot_job = AutodetectDependabot.is_dependabot_job()
|
|
is_dependabot_job && @info("This is a Dependabot/CompatHelper job, so `force_latest_compatible_version` has been set to `true`")
|
|
kwargs_dict[:force_latest_compatible_version] = is_dependabot_job
|
|
else
|
|
kwargs_dict[:force_latest_compatible_version] = force_latest_compatible_version::Bool
|
|
end
|
|
|
|
return kwargs_dict
|
|
end
|
|
|
|
end # module
|