-
Notifications
You must be signed in to change notification settings - Fork 343
Fix sphinx incremental builds; add make serve
to run sphinx-autobuild
#1710
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
Fix sphinx incremental builds; add make serve
to run sphinx-autobuild
#1710
Conversation
2839ad0
to
4194e89
Compare
|
…ly importing the local version of `arcade`, it was instead putting from site-packages
I added a comment about the sitemap version and updated
I actually tested this on Windows, not WSL. I have make installed via I can test in WSL2, but I don't have access to a Mac. |
I also fixed an unrelated bug where However, I work with multiple |
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.
tl;dr make serve
works after re-installing under Linux (Debian 11), but the instructions are currently ambiguous and hard to follow for beginners.
First, thank you for working on this. It will be a massive improvement to the current development & build process. I tested it on Debian Linux.
However, I think we need to make the following changes:
- Clarify some of the instructions
- Add instructions on re-installing arcade, and make an announcement for contributors on the Discord server reminding them to re-install the package
Can't we just make this into a pythons script like https://github.com/pyglet/pyglet/blob/master/make.py |
Should we move that to a Discord thread? I have some opinions about improvements to arcade's build scripts. However, for this PR, I'm trying to embrace what's already there, under the assumption that the team has chosen the current tooling for a good reason. |
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.
tl;dr works locally after reinstalling; anyone writing doc needs this yesterday
I think benefits of < 10 sec rebuild are worth helping a few people update their doc build setup
Doc server w/automatic rebuild and livereload
make serve
will:This is done with sphinx-autobuild
Fixed incremental builds
Normal sphinx-build has also benefited, because this PR fixes incremental builds. There were two problems:
sitemap broke pickling
Sphinx accomplishes incremental builds by pickling its state, then reloading that pickled object when it starts the next build. The sitemap plugin recently made a change that broke pickling. This meant sphinx was forced to start from scratch every time.
This PR moves back to an older version of the sitemap plugin, until the fix is published to pypi: jdillard/sphinx-sitemap#62
util/ scripts always invalidated cache
When rewriting a file, even if you write the exact same contents to disk, you invalidate sphinx cache. I suspect this is caused by changing a file's modification timestamp.
This PR tweaks the util/ scripts to use a virtual filesystem abstraction that avoids any unnecessary fs writes, if the regenerated file in memory matches what is already on disk.