Upload documentation tarballs to GitHub releases#41647
Upload documentation tarballs to GitHub releases#41647vbraun merged 1 commit intosagemath:developfrom
Conversation
|
cc @gmou3 |
|
Thanks for the PR. I am not very confident approving this, so I will leave it to others. This is supposed to close #39949. |
Thank you for the initial review! I linked the issue here. |
|
I fear that the step may run before the release is made. According to AI, will check if a release for the tag exists before uploading assets. |
I initially had the same concerns, but after looking into it, I realized my current implementation is actually sufficient. The Practically speaking, building the docs takes much longer than building the wheels, so the wheels will almost certainly be uploaded first anyway. |
Unfortunately, the release script often fails to work as expected. See https://github.com/sagemath/sage/actions/workflows/release.yml When that happens, your step will create a new release with only asset |
|
Documentation preview for this PR (built with commit 1f1890c; changes) is ready! 🎉 |
While not perfect, it can achieve a form of eventual consistency. If we check the release status during the document build action, the release action may fail while the document build action succeeds but does not upload the asset. Therefore, I suggest merging the livedoc action into the release action, as they share the same trigger condition. WDYT? @kwankyu |
|
Also found a small bug in the release yml, opened #41669 to fix it. |
Why do you think so?
That seems a bulky solution. Those are conceptually separate workflows. |
As I understand it, retrying the release action will not automatically trigger the doc build. So if the release fails but the doc build succeeds, retrying the release will result in the release artifact being published without the live docs included. |
Maybe we can transform the doc build workflow to use a |
Right. But in that case, we can manually drop the artifact livedoc.zip as an asset to the release. |
That may be another complicated solution, which builds the doc twice. If the release workflow fails, a release should be created manually anyway. Your original solution at least provides a release with I am okay with merging this PR now and we may see how it goes with the next stable release. |
|
Isn't I would expect a name like Note that the list of assets of a release is large, so people will probably search for |
|
Let me summarize what happened with 10.9.beta7 release: https://github.com/sagemath/sage/actions/runs/22418172347
https://github.com/sagemath/sage/actions/runs/22418172388/job/64909125824
Somehow a draft of the release 10.9.beta7 was created anyway with no |
I encountered a rate limiter for the release action in my own fork once. I haven't encountered the latter one yet. Maybe this is a temporary issue with GitHub? |




Add pre-built HTML and PDF documentation uploads to the release workflow. When triggered by a tag push, the workflow now creates and uploads livedoc.zip to the corresponding GitHub release.
My tests:
Closes #39949.
📝 Checklist