Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
KotlinIsland opened this issue May 25, 2022 · 5 comments
Closed

Comments

@KotlinIsland
Copy link
Contributor

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.

Some projects are even suggesting writing their own custom job to detect EAPs: VirtusLab/git-machete-intellij-plugin#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.

@YannCebron
Copy link
Member

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.

@hsz
Copy link
Member

hsz commented Sep 19, 2022

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

@KotlinIsland
Copy link
Contributor Author

KotlinIsland commented Sep 20, 2022

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?

@jonathanlermitage
Copy link
Contributor

jonathanlermitage commented Dec 27, 2022

@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".

@KotlinIsland
Copy link
Contributor Author

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

@YannCebron YannCebron closed this as not planned Won't fix, can't repro, duplicate, stale Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants