feat: publish as @img2threejs/plugin-character on npm - #1
Open
kokorolx wants to merge 2 commits into
Open
Conversation
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
package.jsonfor npm distribution as@img2threejs/plugin-character, mirroring the version/description fromplugin.json(Apache-2.0, fromLICENSE).fileswhitelist:CHANGELOG.md,SKILL.md,domain.json,gates.json,plugin.json,reference,tools— every git-tracked top-level entry excepttests/(none in this repo),.opencode/and other dotfiles,README.md/LICENSE/package.json(auto-included by npm).CHANGELOG.mdis listed explicitly since npm does not auto-include it..github/workflows/ci.ymlandpublish.ymlare thin callers into the org's sharedimg2threejs/ci-workflowsreusable workflows (python-ci.ymlfor PR/push testing,npm-publish.ymlfor tag-triggered publish), pinned to a specificci-workflowscommit SHA per that repo's pinning policy.README.mdunder "Publishing to npm".Dependency
publish.ymlis pinned to27da7a68505591492cb4ef7358968890c6e39844onimg2threejs/ci-workflowsbranchfeat/reusable-npm-publish(PR feat: add reusable npm publish workflow ci-workflows#2), not yet merged toci-workflowsmain. Re-pin to the mergedmainSHA once that PR lands.ci.ymlusespython-ci.ymlalready onci-workflowsmain (SHA4b7a0612d2c52815792124a18ae3f9032a4f0a88).Test command
This repo's suite is not fully subprocess-isolated:
tests/test_rig_mesh_parity.py,test_rig_glb_reference.py,test_anim_action_design.py, andtest_anim_clip_features.pyimport their tool modules directly, and those tools run the standard img2 bootstrap stanza at import time (IMG2_HOMEenv var, expecting$IMG2_HOME/harnessto containimg2_core).test_gate_rigging.pyseparately subprocesses its tool and looks for a siblingimg2/img2-harnessdirectory. The command above satisfies both: a real sibling clone for the subprocess path, plus anIMG2_HOMEpointing at a symlink farm for the in-process imports.Verified by cloning this branch into a fresh directory and running the exact command above: 235 tests, OK (5 skipped). The 5 skips are the optional base-skill (
img2threejs) comparison test intest_rig_spec_agreement.py, which is designed to skip when only the plugin is checked out — unrelated to this CI setup.Notes
NPM_TOKENsecret (a granular npm automation token with publish rights on@img2threejs) rather than OIDC trusted publishing — that's the shared workflow's house style. A maintainer needs that secret set (org- or repo-level) before the first tag-triggered publish. Prerelease tags (v1.2.3-beta.1) publish under the matching dist-tag; re-pushing an already-published version is a no-op.Test plan
npm pack --dry-runconfirms the tarball includesplugin.json,SKILL.md,domain.json,gates.json,CHANGELOG.md,reference/*,tools/*.pyand excludes.opencode/.testjob passes on this PR onceci-workflowsaccess is available to Actions.