-
-
Notifications
You must be signed in to change notification settings - Fork 676
CI docbuild: Run containers explicitly with docker run
, docker exec
#36508
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
CI docbuild: Run containers explicitly with docker run
, docker exec
#36508
Conversation
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.
LGTM.
Voilà. The cosmetic concern is now solved.
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.
As explained in the similar PR #36498, I'm strongly against reimplementing the container feature.
It seems not very complicated. It's a bit ugly though. But beauty is the least concern in the business of pipelining.
Yes. I am curious about that. Do you have any clue?
Yes, there are potential speedups, so why not try?
I believe Matthias is working on this PR for pressing issues. One of them is the out-of-space issue. This PR gives us some time to investigate the root cause leisurely. What are your pressing issues? Does this PR hinders solving them?
It's working well. Why is it a "moving part"? Personally most important is that it fixes the cosmetic issue! |
If you disagree with this PR, then removing "positive review" is enough. "Requesting changes" seems inappropriate. |
Tobias wrote:
As the record there shows, neither did he say that he is "strongly against" it, nor did he explain a basis for his opinion. |
It limits what we can do in the workflow. For example, I don't think it would be easily possible to run github actions in the container context (e.g. something like #36510).
My guess would be that the git acrobatics maybe replaced a symlink by a copy of the files. In my opinion step number one would be to clarify why our image got 10% bigger and step 2 would be to print the used space before the build (github gives 14gb, minus 7gb of the container image should be still 7gb available - enough for a full build).
Caching the docker image doesn't decrease the time until you see the test results and built docs. You cannot start testing before the build is done, so you have to wait for the build and then do the next steps. In fact, it would be slower as caching and restoring a 7gb image takes about 3-5 mins. It would only reduce github's cpu time, but this is free anyway.
It's one more thing that we have to maintain and that might break (similar to the "apply ci fixes" that also seemed to work and then broke the ci in many different ways). The github container feature is maintained by github, and not by us.
Yes, for me as well. But we all know that this can be also fixed within the boundaries of the docker container. |
It would be nice if the developer docs would contain a guide on how to handle such situations. |
That's an oversimplification. We do experience situations in which our CI queue is congested, namely in the 36 hours after a release has been made. Caching the built image can help reduce the congestion. |
That's correct, but I am not aware of a need to run any Actions on the container in which the docbuild takes place. |
Let's get this in please. |
Hopefully Tobias doesn't object anymore. |
Sorry, but in its current form the disadvantages of this PR outweigh the positives. I might change my opinion once its clear how the caching should work, but with the information provided so far I don't see how caching will give us any improvement (given the limited cache quota of 10GB and the relatively slow cache upload/retrieval speeds). |
How do we resolve the conflict here? A poll on sage-devel? |
I am preparing the caching technique, which Tobias says he needs to see. Should be ready in a bit. |
SageMath version 10.2.rc2, Release Date: 2023-11-12
Documentation preview for this PR (built with commit 082585b; changes) is ready! 🎉 |
Closing this PR because it is merged into #36498, where the work will continue. |
Running the container manually instead of using the (convenient, but restrictive)
container
feature of GH Actions gives us more control:Here we do the work for doc-build.yml and doc-build-pdf.yml only; the same is done in #36498 for build.yml.
📝 Checklist
⌛ Dependencies