-
-
Notifications
You must be signed in to change notification settings - Fork 359
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
Use SnoopCompileBot #2832
Use SnoopCompileBot #2832
Conversation
The SnoopCompile runs can be checked at https://github.com/daschw/Plots.jl/actions/runs/153066245 and here you can take a look at the PR that would be created: daschw#4 |
I guess we should decide if we want to have different precompile files per OS (does this make sense?). Otherwise we don't have to run the action on all OSs. And, since nightly is already 1.6 I should add a run for some Julia 1.5 version |
LGTM but when it comes to the bot, @aminya is the real expert. |
Also worth saying, I think you guys will see some gains wrt to load times within another month or so on nightly...there are still several crucial PRs to merge, the most important being JuliaLang/julia#35877 (which is currently on hold for good reasons). Outside of Julia & Pkg, only JuliaWeb/HTTP.jl#549 is waiting to be merged (as long as you're using at least FixedPointNumbers 0.8.1, ColorTypes 0.10.4). For me the combination of all of those drops TTFP by almost an additional factor of 1.5-2 compared to 1.5rc1. EDIT: these changes should also make the precompile files more effective, which is why I brought it up here. Currently you can "ask" for something to be precompiled but it doesn't always "take," if any MethodInstances it depends on got invalidated. So stomping out invalidations reduces the number of failures to precompile. There are other reasons to fail but this is the biggest one in practice. |
Sounds great and huge thanks to everyone who's involved in this! |
Looking at https://github.com/daschw/Plots.jl/pull/4/files now it seems like that the precompile files are identical for each OS, so probably we do not require multi-os. |
Co-authored-by: Amin Yahyaabadi <aminyahyaabadi74@gmail.com>
Co-authored-by: Amin Yahyaabadi <aminyahyaabadi74@gmail.com>
.github/workflows/SnoopCompile.yml
Outdated
version: # NOTE: the versions below should match those in your botconfig | ||
- '1.3' | ||
- '1.4' | ||
# - '1.5' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enabling this since nightly is 1.6 now? 🤔
# - '1.5' | |
- '1.5.0-rc1' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried but it did not work: https://github.com/daschw/Plots.jl/actions/runs/153176644
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All 1.5 tests are failing there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe try -'1.5.0-rc1'
.
@SaschaMann shouldn't 1.5 install '1.5.0-rc1'
by default? julia-setup fails to do this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, let's try
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With 1.5.0-0
I get
Run julia-actions/setup-julia@latest
0s
PLOTS_TEST: true
Run julia-actions/setup-julia@latest
with:
version: 1.5.0-0
arch: x64
show-versioninfo: false
env:
GKS_ENCODING: utf8
GKSwstype: 100
PLOTS_TEST: true
##[error]Unexpected HTTP response: 404
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My bad, it should've been ^1.5.0-0
. Sorry! 🤦
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That does not work either: https://github.com/daschw/Plots.jl/actions/runs/155304982
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But that's an issue with SnoopCompile.jl cc: @aminya
Co-authored-by: Amin Yahyaabadi <aminyahyaabadi74@gmail.com>
@aminya I guess, once we're sure this works I should uncomment
in SnoopCompile.yml? |
If you want to get precompile updates on pushes to other branches (under JuliaPlots/Plots or when users fork this repository) don't uncomment this. But if you want precompile updates only on pushes to master, then do that. I don't think this be an issue but may happen in rare cases: Once this PR is merged and bot PR is merged as well, it also may worth mentioning in the contribution section of readme or docs to set |
Where exactly do we set that? |
https://github.com/daschw/Plots.jl/pull/4/files#diff-2270ce88ed8290c3b808f5ea76728946R1 |
OK, this seems to work now. Thanks a lot @aminya @timholy and @SaschaMann for your support! |
This should automatically update the precompile files using SnoopCompileBot and a corresponding Github Action as described in https://timholy.github.io/SnoopCompile.jl/stable/bot/
This removes the current precompile file and hopefully PRs with new precompile files are opened after this gets merged.
@timholy or @aminya it would be great if you could take a look at this and check if I'm doing something wrong here.