-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
RFC set up Codespaces to ease contributor experience especially during sprints? #31091
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
Comments
I know that in PyParis, we spoke with someone in GitHub where they mentioned that ahead of time, we could require some more credits for participants if needed. I would not be against having this solution as a plan B whatever else does not work. |
I would be happy to have this option, and I would even use it as a plan A for people who come to a spring w/o setting up their machine. |
Thanks for the feed-back, I opened a draft PR with the needed |
The timings you quote in the description look good enough to be a useful fallback. +1 for adding minimal documentation to your PR. |
I think this will be useful for getting users started without the negative experience of spending half the sprint setting things up. One thing we could ponder is if we can reduce the "time to working container" in some way. Basically instead of downloading mamba and creating an environment when the devcontainer launches, can we do this ahead of time. Maybe with a custom docker image? Or maybe there are options within the GitHub codespaces experience to have "pre launched" containers? Not something we need to do now or something that is worth if it adds a lot of complexity. As a side note: I rarely update the environment I use locally to do scikit-learn development, so prebuilding it for the container seems like it would work. Maybe we can attract someone who is a devcontainers geek who can help with this. edit: codespaces also doesn't work for me in Firefox :( I think you can use devcontainers for local development as well, if you use VS Code (or maybe other editors as well?). Maybe that would also help windows users, assuming that getting docker to work is easy?? |
I agree we can get started with a simple #31096.
Optimizing the devcontainer startup time does add complexity. Github does have prebuilds, but I can not tell if we can share pre-builds on this repo with forks. If a user can go to the main If we can not use prebuilds we need to have a public custom base image for the dev container. Here is the optimization strategies: (with increasing complexity)
|
IMO this could be useful as fall-back during sprints, in particular for pesky company Windows laptops, where I (and others for example @adrinjalali and @glemaitre) have been guilty to debug the Windows situation rather than focussing on more important stuff 😅.
Try it on my fork https://github.com/lesteve/scikit-learn
Full disclosure: for some reason, this does not work for me on Firefox, I need to use a Chromium-like browser (Vivaldi works for example), maybe due to my addons not sure.
The setup seems quite maintable see current diff main...lesteve:scikit-learn:main. This could be tweaked for example to setup
ccache
if we insist but I think is good enough as is.I tried it on my fork on a 2-core machine (default):
-n2
has similar timings)make html-noplot
(i.e. no example) ~9 minutes first time, ~1 minute second timePricing: 120 core hours + 15GB storage free per month. With the default 2-core machine, which is probably enough for sprints. See doc for more details.
I guess we may want to add light documentation about it somewhere.
https://numpy.org/doc/2.1/dev/development_environment.html
https://docs.scipy.org/doc/scipy/dev/dev_quickstart.html#other-workflows
Previous related conversations:
The text was updated successfully, but these errors were encountered: