mirror of
https://github.com/julia-actions/julia-runtest.git
synced 2026-02-12 02:56:55 +08:00
Co-authored-by: Markus Hauru <markus@mhauru.org> Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com>
52 lines
1.6 KiB
Julia
52 lines
1.6 KiB
Julia
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"])],
|
|
test_args=ARGS,
|
|
)
|
|
|
|
kwargs_reprs = map(kv -> string(kv[1], "=", repr(kv[2])), collect(kwargs))
|
|
kwargs_repr = join(kwargs_reprs, ", ")
|
|
|
|
print("""
|
|
│
|
|
│ To reproduce this CI run locally run the following from the same repository state on julia version $VERSION:
|
|
│
|
|
│ `import Pkg; Pkg.test(;$kwargs_repr)`
|
|
│
|
|
""")
|
|
|
|
if parse(Bool, ENV["ANNOTATE"]) && v"1.8pre" < VERSION < v"1.9.0-beta3"
|
|
push!(LOAD_PATH, "@tests-logger-env") # access dependencies
|
|
using GitHubActions, Logging
|
|
global_logger(GitHubActionsLogger())
|
|
include("test_logger.jl")
|
|
pop!(LOAD_PATH)
|
|
try
|
|
TestLogger.test(; kwargs...)
|
|
catch e
|
|
if e isa Pkg.Types.PkgError
|
|
# don't show the stacktrace of the test harness because it's not useful
|
|
showerror(stderr, e)
|
|
exit(1)
|
|
else
|
|
rethrow()
|
|
end
|
|
end
|
|
else
|
|
try
|
|
Pkg.test(; kwargs...)
|
|
catch e
|
|
if e isa Pkg.Types.PkgError
|
|
# don't show the stacktrace of the test harness because it's not useful
|
|
showerror(stderr, e)
|
|
exit(1)
|
|
else
|
|
rethrow()
|
|
end
|
|
end
|
|
end
|