Skip to content

modernize repo - #8

Open
matthewlee-dev wants to merge 14 commits into
mainfrom
uv_refactor
Open

modernize repo#8
matthewlee-dev wants to merge 14 commits into
mainfrom
uv_refactor

Conversation

@matthewlee-dev

Copy link
Copy Markdown
Owner

No description provided.

@matthewlee-dev matthewlee-dev self-assigned this Aug 11, 2026
Matthew Lee 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant