modernize repo - #8
Open
matthewlee-dev wants to merge 14 commits into
Open
Conversation
added 13 commits
August 11, 2026 21:40
…with manual versioning - Manually docker pull/run Maya tests (after freeing disk) instead of a job-level container, fixing pulls failing on larger Maya images - Add Maya 2027 support; slim default matrix to 2024 only - Bump setup-uv, cache, and checkout action pins - Replace python-semantic-release (silently no-op'd on non-main branches) with a manual `version` input that bumps, tags, and creates a GitHub release - Pin mkdocs<2; doc/comment cleanup
Adds scripts/build_module.py to stage a shippable .mod tree from src/, install_module.py to install it locally, release.py to drive publishing, and wires reusable-release.yml to the new flow. Also switches the repo naming convention example from underscore to hyphen and drops the redundant PYTHONPATH row from the generated .mod (Maya auto-adds <root>/scripts).
The zip now ships <name>_drag_and_drop_installer.py instead of a bare
install_module.py, and reusable-release.yml's release notes reference
it by the resolved package name. Also adds a {{PROJECT_TITLE}}
placeholder (hyphens/underscores replaced with spaces) for the h3
headings in _README.md/CONTRIBUTING.md, distinct from {{PROJECT_NAME}}
which still needs to stay a raw URL-safe slug.
build_module.py now vendors locked runtime deps (via uv, prebuilt wheels only) into per-platform/per-Python dirs with qualified .mod rows, when the project declares runtime dependencies. The release workflow builds before any push so failures are no-ops, passes inputs via env (shell-injection safety), keeps uv.lock in sync with the version bump, and tolerates re-dispatch after partial failure.
plugins: was nested under theme:, so search and mkdocstrings never loaded; mkdocstrings options also updated from the old rendering/watch keys. mkdocs.yml now carries a real site_name (same contract as pyproject.toml) so mkdocs build works on the template repo itself; initial_setup.py string-replaces the literal during setup. initial_setup also gains a root parameter and docstrings so its logic is testable.
Static analysis and a new template-tests job now run unguarded (on this repo too); only Maya Docker tests, release, and initial-setup stay generated-repo-only. Static analysis widens from src/ to the whole repo. tests/template/ covers initial_setup, build_module staging, and release.py's version-bump logic with plain pytest; initial-setup.yml deletes it in generated repos. Includes ruff cleanup of existing files.
Static analysis is ruff-only: mypy's value on cmds-heavy Maya code is low (stringly-typed, returns Any) and it caused most of the tooling friction. maya-stubs stays as a dev dep purely for IDE completion.
Template README gains its own CI/uv/ruff badges; mypy references removed everywhere; documented commands updated to repo-wide scope; AGENTS files describe the guarded/unguarded workflow split and the mkdocs real-value contract.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.