Repository navigation
feat: make page build stable against existence of submodules - #662
jo-mueller wants to merge 1 commit into
Conversation
Automated Review URLs |
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the empty specification directory handling and temporary-directory ignore correction.
No open issues 🎉
What changed in this PR
Makes local website builds more tolerant of unchecked-out specification submodules, supporting non-specification contributors working from a fresh clone.
Changes:
- Skip empty specification directories with a warning instead of attempting to locate their build scripts.
- Correct the ignored temporary directory name to
_temp_ngff_spec/.
| File | Description |
|---|---|
conf.py |
Adds a warning and skips specification builds for empty submodule directories. |
.gitignore |
Updates the temporary specification directory ignore entry. |
Review effort: Balanced
lubianat
left a comment
There was a problem hiding this comment.
Just that small comment, otherwise LGTM
|
The build process spits out an enormous amount of text on a successful build; useful output like this may get lost easily. Building without submodules is practically never what you want to do, so I'd be concerned that this could be a source of silent (well, easily missed) unexpected behaviour. As an alternative, what about immediately quitting the build process with a an informative error like "submodule missing: run |
|
@clbarnes Check out #664, which effectively bakes the git submodule command directly into the build process. I agree on the amount of text produced, unfortunately most of that originate from jsonschema-for-humans when rendering the schema documents so it's not in our control 🙄 With #664 I'd lean into turning this warning into a real error because if the submdolue init is part of the build and the submodules still don't exist, something really went wrong. This PR just makes the build robust against the non-existence of the submodules - for a lot of the work on the page you don't really need them, anyway |
Fixes #625
Relevant for #659
This PR adds a small escape hatch that makes the page build work, even if the specification submodules have not been checked out. This way, a fresh clone of the page should build correctly, even if it's without the rendered specification texts.