-
Notifications
You must be signed in to change notification settings - Fork 7
Description
As a monorepo, it currently builds & tests all components/IDE extensions. This is fine for now, but the release/publish step also publishes to every plugin/extension store, even if no relevant changes for that IDE.
Ideally, we'd skip publishing versions to IDE stores that don't benefit from changes, to reduce clutter/noise for users of those IDES.
Plan
During the release
stage, as part of semantic-release
as well as prepending the version's changelog to the changelog file, dump it to a LAST_CHANGELOG
file that only contains the last version's changelog
During the publish
stage, any IDE can inspect that file and if it doesn't spot a change component it cares about, it can skip publishing.
e.g.
- IntelliJ would only publish if it sees
(intellij):
or(language-server):
- VisualStudio would only publish if it sees
(visualstudio):
or(language-server):
- VsCode would only publish if it sees
(vscode):
or(language-server):
The language server component doesn't get published to a store, only to a release asset, and that needs to happen every time as it's a dependency for all other IDE components. This means that stores like neovim, which auto-update when they see a new contextive release, will potentially update when not needed, but that would have to be solved at the neovim end, so deferring for now.