Repository navigation
ci: smoke shipped templates, catalog completeness, YAML frontmatter, cached+verified Blender - #314
Merged
Merged
Conversation
…frontmatter, cache and verify Blender - #291: smoke runs templates/headless-batch-script-template/script.py in place (copy deleted); extension template gets `extension validate` plus a register/unregister lifecycle row in the catalog (operator, panel, Scene pointer, operator behaviour) - #292: Validate fails when an example/showcase dir has no catalog row or a row points at a missing dir; run_catalog runs every row and lists all failures (--fail-fast is opt-in); an empty catalog is red; unit tests added - #293: skill/rule frontmatter parsed as YAML (first block only); rules must carry a boolean alwaysApply and non-empty globs - #294: Blender Smoke skips docs-only PRs, caches the extracted Blender by resolved version, verifies the published sha256 before extracting, drops the duplicate harness unit-test run Closes #291, closes #292, closes #293, closes #294 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Summary
tmpl_gltf.pydeleted); extension template validated withblender --command extension validateand a catalog rowextension-template-lifecycle(register, operator works, unregister leaves nothing)tests/check_smoke_catalog.pyin Validate;run_catalog.pyruns all rows and lists every failure (--fail-fastopt-in); empty catalog redtests/check_frontmatter.py(PyYAML, first block only; booleanalwaysApply, non-emptyglobs). Whether Cursor honours list-valuedglobsis not verified here (needs a Cursor session); the validator accepts both string and list.paths-ignorefor docs-only PRs,actions/cachekeyed by resolved Blender version, published.sha256verified before extraction, duplicate harness test removed (pip/Jinja2 half already landed in feat(distribution): Claude Code plugin, rules bridge, Pages trim, count and cap gates #310)Proven by live run
Blender 5.2.1 LTS and 4.5.11 LTS (binaries' own
--version): lifecycle script exit 0 on both;extension validateexit 0 on both; shipped template script exports a 219 260-byte .glb on both. Falsifiers: templateunregister()leaking the Scene pointer -> exit 1Scene.example_addon pointer still bound; operator no-op -> exit 1moved z by 0.0; both restored. Deleting a catalog row ->examples/bmesh-gear has no row ...; empty catalog -> error. Bad frontmatter fixtures (no opening ---,alwaysapplytypo, empty globs) all flagged. Oldrun_catalog.pyfails 3 of the 4 new unit tests (fail-fast behaviour, empty catalog). Corrupted tarball ->sha256sum -cexit 1.Established by inspection only
The cache restore/save and the sha256 download path run for the first time in this PR's own CI (cold cache). Snippet-level smoke (issue #291 item 3, "longer term") is not part of this PR.
#201 is not closed here: see the comment on the issue.
Closes #291, closes #292, closes #293, closes #294
🤖 Generated with Claude Code