feature: Update functionality#357
Conversation
Removes superflous requirements
|
TO DO:
Additional considerations:
Are these high value targets for additional checks? Similar SHA checks will work for RTD and GitHub files, but it's more complex to check Make and |
|
Something I feel I should clarify: This is deliberately not as automated as it could be. We want things to be relatively simple, and work out of the box, but we also want users to be aware of the moving pieces within the starter pack and how it functions. That's why this is focused on making it easier to update, and making changes more visible. Users should be using this script to understand the changes that are being made, and to be able to enact those changes themselves. Instead of digging through git to understand changes and see what files have been changed, these changes are presented directly to users and files are provided for users to diff or choose to drop in themselves. I believe this aligns well with our efforts in documentation - making deliberate, conscious choices, while also making the starter pack easier for users. |
|
Refactored and implemented retaining exit codes as inspired by @tang-mm's work in #358. Adjusted exceptions to not completely fail out on some common issues (should roughly support older versions of the starter pack with warnings about it probably being funny). Added logging, so you can get more info by running the script with |
|
I think it's best to stick with this level for now, and iterate and expand to the other files later if there's a strong need. The other files are either very static or would require different approaches to validating content. The Makefile and We can think through some other implementation for validating |
tang-mm
left a comment
There was a problem hiding this comment.
Kudos for compiling the changes! I see the logic involved is complex.
I have left comments in various sections, including several minor nitpicks about references. I also labeled issues that need to be addressed, but open for discussion!
Co-authored-by: tang-mm <3333407+tang-mm@users.noreply.github.com>
|
You mentioned that this PR doesn't include documentation about the update functionality (which personally I think is fine, because the update functionality will only become relevant at the version after the version that introduces the update functionality). But I do see some parts of the existing docs that mention Also, I'm wondering whether we should consider |
We'll need to update documentation before it's merged but I'm more focused on the functionality at this point. If we need to rethink how things are done we don't want to spend time documenting something we then might have to revert. I think |
Co-authored-by: Artem Konev <141050460+akcano@users.noreply.github.com>
tang-mm
left a comment
There was a problem hiding this comment.
Thanks for considering all the feedback!
run ruff format
Adds a script that:
.sphinx) to identify files that are out of date and download them to.sphinx/updatewhere they can be easily diff'd and manually merged in.Reorganises some files so files likely to be changed are not affected. All files in the
.sphinxdirectory should now be considered static, though there are still some edge cases like the MD linting file (different people like and dislike line length checks). This includesproject_specific.cssand the_staticfolder, andrequirements.txt.Removes MD013 by default (decision can be made later but line length is not checked in other markup, and this is more consistent).
Adds a changelog file for listing changes to the starter pack, for easier knowledge of updates and changes. This will be separate to release notes, as it identified files that have been changed - rather than the purpose of the changes themselves.
Adds update Make target.
Changes and disables local static and templates path. This can be re-enabled by uncommenting them.