-
-
Notifications
You must be signed in to change notification settings - Fork 655
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 9c023fb; 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 |
Okay, now there is a merge conflict with #40597. Easiest way out is to create a separate workflow that is copied from the pre-meson migration, I guess. |
There is no merge conflict, fortunately.
No. Just replacing make with meson seems enough. I am running tests. Let's see. |
Hmm. The situation is more complicated than I supposed. I realized that reusing pdf docs built in Hence I ended up separating out By the way, TESTS blocks currently don't appear both in doc previews for PRs and in PDF docs! This seems to be broken for months, like the spurious pdf icons problem. |
setuptools(_scm) update is in 10.8.beta1. So reverting it might be hard to insist upon. What exactly does it do here? |
I separated out the "sagemath" kernel issue from this PR. See #40586 (comment). Previously, reverting it was needed to test this PR. Hopefully now I don't need it.
Nothing now. |
OK, sorry, I missed "revert the revert".
it's hopefully dealt with in #40700 |
I was wrong. The problem was with my branch. With On the other hand, the live doc is broken with the last release. Precisely speaking, "Sage", Python", "Sage Live" tabs in Examples do not appear. See https://doc-release--sagemath-test.netlify.app/html/en/reference/ Anyway, this PR itself is in good shape. Ready for review again. Thanks for your patience. |
I suspect that this is just a symptom of the missing sagemath kernel in the meson build... |
#40700 notes that using |
Positive? |
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
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-livedoc: https://github.com/kwankyu/sage/actions/runs/17295972262
doc-publish-livedoc: https://github.com/kwankyu/sage/actions/runs/17298223187
Deployed doc-release:
https://doc-release--sagemath-test.netlify.app/html/en/reference/
(currently broken in meson build of live doc) Try "Sage Live" tabs at https://doc-release--sagemath-test.netlify.app/html/en/reference/plot3d/sage/plot/plot3d/plot3d
Fixes #40463.
📝 Checklist
⌛ Dependencies