Skip to content

Don't publish IDE extensions with no changes #84

@chrissimon-au

Description

@chrissimon-au

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions