Use the release_plugin.py script:
python script/release_plugin.py PluginName@versionExample: python script/release_plugin.py WarpCore@0.1.0
This updates the version, builds Release, creates a git tag, and pushes — triggering the release workflow.
A conventional commit with a plugin scope triggers CI tests:
type(PluginName): description
- type — lowercase, e.g.
fix,feat,refactor,chore,docs - PluginName — name from
python script/list_plugin.py, e.g.WarpCore,DeepPhaser - scope must be a valid plugin name — unknown scopes are silently skipped
| commit | behavior |
|---|---|
fix(WarpCore): fix LFO sync |
✅ triggers WarpCore test |
feat(SteepFlanger): add feedback |
✅ triggers SteepFlanger test |
docs(readme): update |
⏭️ readme is not a plugin, skipped |
chore(ci): fix workflow |
⏭️ ci is not a plugin, skipped |
Fix(WarpCore): ... |
⏭️ type must be lowercase |
feat(WarpCore)!: breaking change |
⏭️ ! not supported in regex |
update stuff |
⏭️ no scope format, skipped |
workflow_dispatch |
✅ trigger via manual input |
- type must be lowercase (
fix✅ /Fix❌) - plugin name must match a target from
python script/list_plugin.py(WarpCore✅ /warpcore❌) - no space between
)and:(i.e.type(PluginName):), space after:is fine - manual dispatch accepts the plugin name directly, no commit format needed