70 lines
4.5 KiB
Markdown
70 lines
4.5 KiB
Markdown
# GitHub and Comfy Registry Release Checklist
|
|
|
|
Use this checklist from the standalone `ComfyUI-DiffusionGemmaPromptBuilder` repository before pushing or publishing a release.
|
|
|
|
## Product Boundary
|
|
|
|
- Keep the stable Director Assistant surface at seven exports:
|
|
- five-node core: Model Loader, Context Hub, Target Profile, CoT Generator, JSON Splitter
|
|
- two companions: H3 Reference Context and Generation Gate
|
|
- Keep the two SplatStage planners visibly experimental. Their mapping ids stay compatible, their display names end in `(Experimental)`, and their category is `prompt/diffusiongemma/experimental-motion-planning`.
|
|
- Confirm `NODE_CLASS_MAPPINGS` and `NODE_DISPLAY_NAME_MAPPINGS` contain the same nine ids.
|
|
- Treat `ltx_reframe.py` and the reframe workflows as unexported prototypes. Do not describe them as installed nodes unless the package entry point and frontend are deliberately restored together.
|
|
- Do not bundle model weights or generated tensor dumps. The NVFP4 bridge remains source code in `nodes.py`.
|
|
|
|
## Repository Preflight
|
|
|
|
1. Run `git rev-parse --show-toplevel` and confirm it resolves to this package directory, not the parent ComfyUI checkout.
|
|
2. Confirm `origin` is `https://github.com/exportAnything/ComfyUI-DiffusionGemmaPromptBuilder` and that the branch is based on the public repository history.
|
|
3. Confirm the worktree is clean and the intended release commit is pushed.
|
|
4. Confirm the repository URLs in `pyproject.toml` are current.
|
|
5. Keep `[tool.comfy].PublisherId` exactly `exportanything`; this is the immutable Registry id, while `exportAnything` is its display name.
|
|
6. Confirm `project.version` is newer than the latest Registry version. Version `0.1.0` is already published, so this release begins at `0.2.0`.
|
|
7. Confirm `requires-comfyui = ">=0.30.1"` and record ComfyUI `0.30.1` as the tested baseline. The Registry field is a compatibility range, not a test-report field.
|
|
8. Confirm `LICENSE` and the Python copyright headers match the intended release policy.
|
|
|
|
## Automated Gates
|
|
|
|
Run the same three gates enforced by `.github/workflows/ci.yml`:
|
|
|
|
```text
|
|
python -m unittest discover -s tests -p "test_*.py" -v
|
|
python scripts/smoke_prompt_builder.py
|
|
node --check web/js/model_loader.js
|
|
node --test tests/*.mjs
|
|
```
|
|
|
|
- The unit suite must validate the exact nine-node surface, the Director/experimental category split, both bundled SplatStage schemas, and retained reframe helpers.
|
|
- The readiness/schema smoke must finish with `Prompt Builder readiness/schema smoke passed`.
|
|
- The JavaScript suite must exercise the shipped `model_loader.js`. No test may import the retired `ltx_reframe_layout.js`.
|
|
- Require all three CI jobs to pass on the release commit.
|
|
|
|
## Manual Runtime Gates
|
|
|
|
1. Run the NVFP4 proof gate on a CUDA workstation with the real model:
|
|
|
|
```text
|
|
python proof_gates.py --model-path C:\ComfyUI\models\LLM\diffusiongemma-26B-A4B-it-NVFP4
|
|
```
|
|
|
|
2. Fresh-install the repository in a clean ComfyUI `0.30.1` custom-nodes folder and confirm all nine nodes appear: seven Director nodes at the stable category and two SplatStage planners only under the experimental motion-planning category.
|
|
3. Copy `examples/assets/character_motion_transfer` to `ComfyUI/input/character_motion_transfer` and load `examples/07_ltx23_character_motion_transfer.json`.
|
|
4. Load the MiniMax H3 T2VA and Ref2VA examples and confirm the Generation Gate blocks invalid or empty prompt packets.
|
|
5. Treat longer experimental SplatStage and reframe workflows as separate opt-in validation, not as evidence for the stable Director compatibility promise.
|
|
|
|
## Files Tracked on GitHub
|
|
|
|
- Package entry point and source: `__init__.py`, `nodes.py`, `ltx_reframe.py`, `proof_gates.py`
|
|
- Metadata and policy: `README.md`, `LICENSE`, `requirements.txt`, `pyproject.toml`, `.gitignore`, `.comfyignore`, this checklist
|
|
- Runtime contracts: `schemas/`, `web/`, `scripts/`
|
|
- Verification: `tests/`, `.github/workflows/ci.yml`
|
|
- Publishing: `.github/workflows/publish_action.yml`
|
|
- Documentation, current examples, and GitHub demo assets: `docs/`, `examples/`
|
|
|
|
## Registry Archive
|
|
|
|
- Keep `.github/`, `docs/`, `tests/`, caches, temporary files, and large demo video/GIF files out of the Registry archive through `.comfyignore`.
|
|
- Confirm both SplatStage schemas remain in the Registry archive because the experimental planners load them at runtime.
|
|
- Inspect the archive before publishing and confirm it contains no model weights, local paths, logs, caches, or generated outputs.
|
|
- Publish only after the GitHub release commit and version metadata agree.
|