-
Notifications
You must be signed in to change notification settings - Fork 19
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
MNT: compile (pin) doc build dependencies #302
base: develop
Are you sure you want to change the base?
MNT: compile (pin) doc build dependencies #302
Conversation
Thanks @neutrinoceros . However, I must say I don't know how to test this... and I'm not keen on merging this straight away onto master. |
I should be able to build docs locally with both files and send you the artifacts if you'd like. |
So actually it's pretty simple: |
8115080
to
a007523
Compare
I you'd like, I could add a CI job that mimicks what RTD does, so you don't have to rely on local/manual testing everytime something is upgraded. I think it's also possible to configure RTD to build on pull requests (without publishing the result, of course), but that's out of my hands. |
I think that we definitely need a CI job to check the doc. I can have a go at this (or possibly @lih ). Let me know if you start something. |
I don't think I will have time to work on it before next year (🥁), but I can certainly pick it up then if needed. |
a007523
to
67f1f60
Compare
rebasing after #305 was just merged |
67f1f60
to
ad14ca4
Compare
Instead of having a CI to check that the documentation builds, followed by RTD building it on their side, you could use a CI that builds the documentation and then pushes the HTML pages to GitHub Pages (if the build succeeds). Here is a GitHub Action that I wrote for another project. Feel free to use it if you find it helpful. |
This is a first step towards #191 (missing the automated updates for now, see below)
Notes:
requirements.in
) and the complete set of dependencies (direct dependencies + their dependencies + ...) which arerequirements*.txt
files with everything pinned (except the Python runtime version, but that's done in.readthedocs.yaml
), ususally refered to as a "compiled" requirement fileuv pip compile requirements.in
(viauv
) (this is the tool I'm using, for reference)pip-compile requirements.in
(viapip-tools
)python_requirements.txt
(renamed torequirements.in
), I produced two set of compiled requirements:requirements_direct_pinned.txt
)==
replaced by>=
(this isrequirements.txt
)I would recommend using the later (if it works), but the former is probably closer to what has been running on RTD as of late so it can serve as a fallback if the most up-to-date set doesn't fly.
I'm also keeping auto-updates via dependabot for a follow up PR because I want to first know which version of compiled requirements should be kept. This might be a little tricky to test: as far as I'm aware, RTD only runs once a patch is merged (is this right ?).
Also, I'm assuming RTD runs on commits made to
master
, notdevelop
, so maybe I should targetmaster
with this PR ?