-
-
Notifications
You must be signed in to change notification settings - Fork 372
add version check for 1.8 precompiles #4179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report
@@ Coverage Diff @@
## master #4179 +/- ##
==========================================
- Coverage 77.55% 77.54% -0.02%
==========================================
Files 28 28
Lines 7054 7054
==========================================
- Hits 5471 5470 -1
- Misses 1583 1584 +1
Continue to review full report at Codecov.
|
|
See #4079, generating precompilation statements on |
|
I can see that nightly might be broken sometimes since it can change a lot, but 1.8 has been branched and is nearing release, so it probably makes sense to add it. E.g. the "nightly" test in this PR was using a 1.9-dev version, so 1.8 wasn't tested here at all. |
|
I could swear this was on 1.8 ... Anyway, I'll try to have a look tomorrow. Do you know if we can pin beta versions in ci ? |
For example |
|
Doesn't look too good with ERROR: LoadError: failed process: Process(`/opt/hostedtoolcache/julia/1.8.0-beta3/x64/bin/julia -Cnative -J/opt/hostedtoolcache/julia/1.8.0-beta3/x64/lib/julia/sys.so -g1 --code-coverage=none --project=@. -e "
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:4 =#
using SnoopCompileCore
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:6 =#
data = #= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:6 =# @snoopi(tmin = 0.01, begin
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:7 =#
begin
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:196 =#
include(\"/home/runner/work/Plots.jl/Plots.jl/deps/SnoopCompile/precompile_script.jl\")
end
end)
;
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:29 =#
packageSym = Symbol(\"Plots\")
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:32 =#
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:32 =# @info \"Processsing the generated precompile signatures\"
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:34 =#
using SnoopCompile
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:37 =#
pc = SnoopCompile.parcel(data; subst = Pair{Union{Regex, AbstractChar, AbstractString}, Union{Regex, AbstractChar, AbstractString}}[], exclusions = Union{Regex, AbstractChar, AbstractString}[], check_eval = true)
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:38 =#
if !(haskey(pc, packageSym))
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:39 =#
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:39 =# @warn \"no precompile signature is found for Plots. Don't load the package before snooping. Restart your Julia session.\"
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:40 =#
if !(isdir(\"/home/runner/work/Plots.jl/Plots.jl/deps/SnoopCompile/precompile/1.8\"))
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:41 =#
mkpath(\"/home/runner/work/Plots.jl/Plots.jl/deps/SnoopCompile/precompile/1.8\")
end
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:43 =#
Base.write(\"/home/runner/work/Plots.jl/Plots.jl/deps/SnoopCompile/precompile/1.8/precompile_Plots.jl\", \"function _precompile_()\n # nothing\nend\n\")
else
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:49 =#
onlypackage = Dict(packageSym => Base.sort(pc[packageSym]))
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:50 =#
SnoopCompile.write(\"/home/runner/work/Plots.jl/Plots.jl/deps/SnoopCompile/precompile/1.8\", onlypackage)
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:51 =#
#= /home/runner/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:51 =# @info \"precompile signatures were written to /home/runner/work/Plots.jl/Plots.jl/deps/SnoopCompile/precompile/1.8\"
end
;"`, ProcessSignaled(9)) [0]
Stacktrace:
[1] pipeline_error
@ ./process.jl:561 [inlined]
[2] run(::Cmd; wait::Bool)
@ Base ./process.jl:476
[3] run(::Cmd)
@ Base ./process.jl:474
[4] top-level scope
@ ~/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:139
[5] eval
@ ./boot.jl:368 [inlined]
[6] snoop_bot(config::BotConfig, path_to_example_script::String, test_modul::Module; snoop_mode::Symbol)
@ CompileBot ~/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:199
[7] snoop_bot (repeats 2 times)
@ ~/.julia/packages/CompileBot/Y2Oal/src/snoop_bot.jl:194 [inlined]
[8] top-level scope
@ ~/work/Plots.jl/Plots.jl/deps/SnoopCompile/snoop_bot.jl:3
[9] include(fname::String)
@ Base.MainInclude ./client.jl:476
[10] top-level scope
@ none:1
in expression starting at /home/runner/work/Plots.jl/Plots.jl/deps/SnoopCompile/snoop_bot.jl:3 |
|
Opened up aminya/CompileBot.jl#50. |
I'm not sure why there was no case for including precompile statements for v1.8. Is there some reason? In any case adding this fixes it and significantly improves TTFP.
(Also the version checks are wrong; you can have 1.8 versions greater than 1.8.9, but that can be fixed separately.)