-
-
Notifications
You must be signed in to change notification settings - Fork 652
Revive doc-release #40586
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
base: develop
Are you sure you want to change the base?
Revive doc-release #40586
Conversation
Documentation preview for this PR (built with commit 6473d29; changes) is ready! 🎉 |
actually what is livedoc release? I mostly just use the and what rule determines which user can deploy to which netlify URL? |
a464b18
to
91d1eb5
Compare
See the updated PR description. The doc-release is published on every release (so about weekly).
No user deploys. The netlify URL is determined by the sage repo secrets |
You can add "Fixes #40463" to the PR description. |
Thanks. A test running at my repo is not yet finished; hence "Draft" state yet. |
Is there a published version of the built PDF documentation accessible somewhere? I can't find it. |
The test is building pdfs. I will show you when it finished. |
I assume meson builds things faster than make (but doc-build is not 100% meson either, it still uses bootstrap at some parts), it's unfortunate that meson live doc doesn't work. If I understood correctly the logic is moved to doc-build-pdf just because doc-build-pdf still uses make (while doc-build uses meson). Still, working slow code is better than broken code. (also, any idea which part of the code is responsible for deploying the documentation preview on each pull request, and why does that one actually work?) |
It does work. But doc-release (=live doc + pdf docs) needs pdf docs, for which meson does not work yet (right?).
Yes.
For once a weak release, "slow" does not matter much.
See |
not really.
I assume the original |
Thanks for fixing this! A few initial questions/comments:
|
I think this is already discussed above: none of us knows why livedoc on meson fails (yet), so a temporary workaround is to use it in the pdf, which is still based on make.
probably just a mistake caused while doing the manual upload, if you change the
As mentioned in the first message, it's linked from the wiki. I agree it's hard to find though, having in the README would be good. The README, however, links to https://doc.sagemath.org/html/en/index.html—which makes sense, since this is user-facing, and unreleased versions are not visible to most users. Maybe https://doc.sagemath.org/html/en/developer/index.html#section-updating-documentation would be suitable. |
It works with "-j1", as you suggested as a fix. |
Okay, so currently we have meson builds HTML doc, and make builds PDF doc. Why do we need to build the HTML again in the "Build live doc" step, if meson can already build HTML with |
Right. Later if everything works well with meson, all could be combined into single "doc-build.yml" and "doc-publish.yml". However, since building pdf docs takes more time, having separate workflows might be still preferred.
Correct.
Right. "doc-release" is for developers. That provides a sample to be eventually released for users. On the other hand,
I looked around. But I don't see a suitable place; the section is focused on local development. Perhaps Wiki itself should be advertised, but isn't it wildly visible? |
For your information, "doc-release" is also essential for "other version" selector (see below the Sage logo on the left panel) to work. It is currently broken. "doc-release" is the source of "other versions" info. See https://doc-release--sagemath.netlify.app/html/en/versions.txt |
I updated the Wiki to emphasize the doc-release. |
"again" because it is "live doc". And in doc-build-pdf because doc-release should contain pdf docs. An alternative approach is to build live doc with '-j1' in "doc-build" and publish doc-release with pdf docs built in "doc-build-pdf" (after wasting time waiting for pdf docs) But this approach would slow down doc previews for PRs. |
I like this approach better. The live docs are only build on releases and take quite some time, right? So in this case, it would be okay to wait for the live docs + pdf build before publishing them together. Btw, what is the difference between the doc-release and doc-develop netlify sites? I would be fine changing the first sentence on https://doc-develop--sagemath.netlify.app/html/en/index.html to "Documentations in other languages and the most recent beta release are available too." and then link the doc-release. And a similar sentence can be added in the readme. For your info, in #40597, I've now fixed the pdf-meson build and migrated the CI to it. |
It was first advertised here: https://github.com/sagemath/sage/wiki/Sage-10.2-Release-Tour#documentation
I guess we are talking about doc-release and live doc; this thing is different from doc previews for PRs. I think we may add a subsection about the automatic generation of various docs for developers available in github interface (perhaps also about the Wiki :-) in the section about the github repo: https://doc-release--sagemath.netlify.app/html/en/developer/github# However, then this issue is somewhat beyond the present PR. I may do this work in a new PR. |
I gave up that approach and took the present approach, because that approach would slow down generation of doc previews for PRs since the doc-publish action needs to wait for the completion of building pdf docs, which takes long.
doc-develop is used when doc preview diffs (changes) for a PR is generated, by comparing it with doc-pr-xxxxx.
I don't agree. That sentence is about the specific doc version. It is inappropriate to talk about other versions in the same sentence. Anyway, let's deal with the advertisement issue in a new PR mentioned in the previous comment.
I don't know meson and how things are going about meson transition. Hopefully in a sequel to this PR, you may convert pdf doc build stuffs to meson and perhaps then merge |
Sure, I'm all in favor of this. I would propose to simply call |
I believe it may be setuptools. Other packages seem irrelevant |
I am out of town. My branch needs some cleanup before shipping out. Sorry that the PR is delayed. |
instead of reverting anything, applying #40633 gives me everything (beside doc-pdf, but that's a different story) working |
f35de69
to
66895a0
Compare
OK. I am testing at https://github.com/kwankyu/sage/actions/runs/17183907741 |
No pdf docs in "doc-develop". "doc-develop" for a release is there to make a doc preview for a PR and diffs of the doc preview against "doc-develop".
I see. I misread your diagram. |
Hmm. I misunderstood you. #40633 does not solve the "sagemath" kernel problem, which is the main concern here. Right? (I interpreted "beside" as "in addition to"...) |
I will revert setuptools and setuptools_scm upgrade in b81df17, and test again. |
a557cbb
to
045eca1
Compare
#40633 introduces a new problem regarding doc-pdf. That is probably what you meant by "that's a different story". So I drop dependency on #40633. Regarding the problematic commit b81df17, I revert only "setuptools" upgrades. |
doc-develop is what is linked in the version selector of the officially published docs, so it's very much the canonical build of the develop branch. |
The version selector is mainly intended to list stable releases. The develop branch was added for developers, in addition. (I know because I implemented the version selector and I am maintaining it.) Currently the stable versions do not appear there because "doc-release" is broken.
Yes. |
I understand that the purposes of doc-develop and doc-release are not clear and confusing because there is no documentation besides the few lines in the workflow files. In the last commit, I tried to clean up the confusion. I will add more documentation to our developer manual later. |
The branch was tested and works well. The "sagemath" kernel is now installed. Please review, hopefully before the next release. |
So it's a bug that https://doc-develop--sagemath.netlify.app/pdf/en/a_tour_of_sage/a_tour_of_sage.pdf is not working, right? Things I like to see improved:
|
No. It is a bug that pdf icons appear in doc-develop.
meson or make is not my concern. If you want these "improvements", you open your own PR and work on it.
This is not an improvement. doc-develop is not intended to include pdfs. As I said above, its purpose is to be used for making "changes" (diffs) for PR doc previews. |
for me there is no sagemath kernel problem with #40633 as long as building the usual docs is concerned. Please explain how your sagemath kernel problem differs from this one. By "besides" I meant the issue of using an external jupyter installation - this is broken for me, and has been the case for long time |
the core reason for #40633 and all the related shenanigans is our manual handling of Python dependency resolution, something which I have been protesting about for years, yet it has been crammed into Sage with all these version_requirements.txt etc. Instead of the normal Pythonic Now we witness an entirely predictable fallout from this. Sorry, I digressed. |
At least for me with the upgraded setuptools of b81df17, even though the doc appeared as built, looking at the logs, tutorial was not built because no sagemath jupyter kernel existed. With the previous setuptools, it is OK. Moreover with the upgraded setuptools calling |
The branch of #40633 merged to my branch failed in building Pillow. The branch of #40633 alone was built with no sagemath kernel installed. (I will try this again for #40633) Then I gave up. (They are on my mac.) |
Built after
no "sagemath" kernel. |
On every release, "doc-release" (full sage documentation with live examples and pdf docs) had been published. That was broken by #40379.
The up-to-date doc-release was available through the Documentation section of the Wiki. Currently available doc-release was manually uploaded by me.
By the way, "doc-release" is also essential for "other version" selector (see below the Sage logo on the left panel) to work. It is currently broken. Note that "doc-release" is the source of "other versions" info. See https://doc-release--sagemath.netlify.app/html/en/versions.txt.
Now doc-release is built in the doc-build-pdf workflow, and published in the new doc-publish-pdf workflow, separated from the doc-publish workflow.
Test run:
doc-build-pdf: https://github.com/kwankyu/sage/actions/runs/17187860198
doc-publish-pdf: https://github.com/kwankyu/sage/actions/runs/17189341224/job/48762765391
Deployed doc-release:
https://doc-release--sagemath-test.netlify.app/html/en/reference/
Try "Sage Live" tabs at https://doc-release--sagemath-test.netlify.app/html/en/reference/plot3d/sage/plot/plot3d/plot3d
Fixes #40463.
📝 Checklist
⌛ Dependencies