xslint-jetbrains releases automatically when xslint-lsp releases — the
plugin bundles that server — and can also be released by hand.
When xslint-lsp publishes a new version it dispatches xslint-lsp-released
here. .github/workflows/cascade.yml bumps the
bundled xslintLspVersion in gradle.properties to that version, builds
against it, and cuts this plugin's own next patch — the latest tag + 1,
independent of the server's number — pushing the tag so release.yml publishes.
Push a semver tag:
git tag 0.0.2
git push origin 0.0.2The tag triggers release.yml, which builds
the plugin, signs it, and publishes it to the JetBrains Marketplace with
./gradlew publishPlugin, stamping the version from the tag.
PUBLISH_TOKEN— a JetBrains Marketplace token (plugins.jetbrains.com → Profile → My Tokens).CERTIFICATE_CHAIN,PRIVATE_KEY,PRIVATE_KEY_PASSWORD— forsignPlugin(the Marketplace prefers signed plugins).DISPATCH_TOKENand themasterruleset bypass — as in the other repos, so the cascade's bump can push to the protected branch and its tag triggers the release.