intellij-platform-plugin-template icon indicating copy to clipboard operation
intellij-platform-plugin-template copied to clipboard

(🎁) Automatically detect new EAPs and create a MR to support it

Open KotlinIsland opened this issue 2 years ago β€’ 3 comments

When a new EAP comes out, there are hundreds of projects that need to bump the supported version. This means that there are hundreds of tickets raised, hundreds of PRs(like this https://github.com/koxudaxi/pydantic-pycharm-plugin/pull/492) created etc etc etc.

Some projects are even suggesting writing their own custom job to detect EAPs: https://github.com/VirtusLab/git-machete-intellij-plugin/issues/853.

I think it would be super based if this template contained a job like this, it would really make the IntelliJ Idea plugin development process smoother.

KotlinIsland avatar May 25 '22 21:05 KotlinIsland

Not sure this belongs in the template. Ultimatively, the decision on what target IDEs and what version(s) for each to support at what stage (EAP, GA) is completely up to the maintainer(s) of each plugin. Also there already exist many channels to be notified immediately of newly started EAP or releases.

YannCebron avatar May 30 '22 11:05 YannCebron

Instead, I'd fix that in the Gradle IntelliJ Plugin as we already fetch available versions (listProductsReleases task).

hsz avatar Sep 19 '22 10:09 hsz

So like a GitHub workflow that periodically runs a Gradle task that looks for new releases, and creates a PR that increments the pluginUntilBuild property?

KotlinIsland avatar Sep 20 '22 01:09 KotlinIsland

@KotlinIsland I think you can create a GitHub action which runs periodically (cron) in order to check the compatibility with the latest EAP.

When a new EAP comes out, there are hundreds of projects that need to bump the supported version. This means that there are hundreds of tickets raised, hundreds of PRs(like this koxudaxi/pydantic-pycharm-plugin#492) created etc etc etc.

I observe that many PRs only update the until attribute. In this case, and if you have time to maintain your projects, I personally think you should remove the until attribute. This attribute is NOT mandatory, this is only an optional feature. The intellij-platform-plugin-template project is opinionated, but this is only a template, you can modify it.

Just an advice: I maintain 7 IJ plugins since a few years and this is how I work: no until attribute, and I rely on JetBrains marketplace warnings and some scheduled GitHub actions tasks (example). The benefit is: when a new Final IDE Build is released, my plugins are already compatible. I don't have to publish new versions just to update a single XML attribute (it would be so annoying... for the developer, AND for the usersπŸ˜‰).
The fact is plugins are usually compatible with the next IDE update, and if there is any compatibility problem, I can fix it before the next Final IDE build (I usually have months in order to fix usage of deprecated API, things like that). Finally, if there is no compatibility issue, I have nothing to do. Users can continue to use the same plugin version, and they won't open tickets saying "please support IJ xxxx".

jonathanlermitage avatar Dec 27 '22 08:12 jonathanlermitage

Yeah, I've always thought the until attribute wasn't optimal. Perhaps the template could be updated to reflect some of your practices.

KotlinIsland avatar Dec 27 '22 10:12 KotlinIsland