feature (jetbrains): add plugin pre-installation support#772
feature (jetbrains): add plugin pre-installation support#772Harsh9485 wants to merge 32 commits intocoder:mainfrom
Conversation
|
@DevelopmentCats @matifali, PR is ready for review. |
|
@DevelopmentCats, I can’t open any IDE because my trial is over. Could you please check this?
|
Yeah I will go ahead and test this out. |
|
Hey @DevelopmentCats, just checking if there are any updates on the testing progress for this PR. |
|
After testing this I get the following behavior with the module. When you start the workspace the plugins do not install as expected. -> When restarting the workspace everything restarts and the script catches that I have installed one of the IDE's in the workspace but continues to wait for ALL of the rest of the IDE's to be installed. -> The agent remains unhealthy and never makes connection with the workspace and sits in an error state. |
… fix the continuous wait for an IDE that is not installed
… of github.com:Harsh9485/registry into Pre-install-jetBrains-Plugins-Support-(InstallPlugins)
|
I feel as if I should probably elaborate a bit more on the experience I was getting with the module. I have a template with 2 plugins per Every Jetbrains IDE, and I am only opening one of them at a time since its not realistic to install every IDE in a single workspace. The 2 plugins appear to install, but there is no logic for what the module should do for the remaining plugins aside from just waiting the 60 minutes, and the workspace never going healthy. Im honestly not sure if the 60 second loop for waiting for the IDE to be ready is necessary since we are warning now that the IDE's need to be pre installed into the workspace or installed and the workspace restarted. |
… of github.com:Harsh9485/registry into Pre-install-jetBrains-Plugins-Support-(InstallPlugins)
|
Now I will test this module in a new workspace. |
|
On Retest:
Other than that this works great, I just almost think that because of the required restart to install the plugins after manually triggering the client to install in the workspace. This feels almost like more work then just finding and installing the plugin in the IDE's. Although in its current state there isn't much to be done about that. |
I fixed the duplicate log issue. Are all plugins disabled by default? I remember that the plugins were enabled, and only the plugins that require dependency plugins were disabled. But if the plugins are disabled by default, then I will add a warning to the README file. |
Let me double check with some different plugins, and I will follow up shortly with the results |
I think you are right here. It might have been a specific plugin that I was installing that was just being determined as an alien plugin. The plugins install fine and are activated, unless they are Freemium or require some kind of prereq before being enabled which is just Jetbrains. The logs look a lot better as well, and I have tested this with all the IDE's I will give this one more final look over and approve it, and then we should be good to go. |
| > | ||
| > 1. Requires JetBrains Toolbox to be installed | ||
| > 2. Requires jq to be available | ||
| > 3. Only works on Debian/Ubuntu-based systems (due to apt-get usage) |
There was a problem hiding this comment.
Can we make this compatible with all distributions rather than Debian/Ubuntu ones?
… of github.com:Harsh9485/registry into Pre-install-jetBrains-Plugins-Support-(InstallPlugins)
… of github.com:Harsh9485/registry into Pre-install-jetBrains-Plugins-Support-(InstallPlugins)
|
I removed the incompatible and unnecessary code, and I tested it in Docker (Ubuntu). Now the script is compatible with all Linux distributions. I think the PR is ready to merge. |
|
@DevelopmentCats, could you test the new changes? The script is now compatible. |
|
@DevelopmentCats, please don’t test this module right now. I’m not sure why the install_plugins script in the Coder workspace didn’t update. I tested it earlier and it worked, but now I’m testing the updated script
|
|
I tested it, and it works. @DevelopmentCats, you can test it now. |
|
Here are the test screenshots and logs: log file : file
|
|
Hey @DevelopmentCats, this issue has been open for more than a month, so could you please review the PR or ask someone to review and test it? |
I apologize, for the wait on this, the CI is still failing for this PR which still need to be resolved, but I will test this out again, and update. We were waiting for some input from a jetbrain's dev on this logic, which is why it has taken a bit more than usal here. |
@DevelopmentCats |
| LOGFILE="$HOME/.config/Jetbrains/install_plugins.log" | ||
| TOOLBOX_BASE="$HOME/.local/share/JetBrains/Toolbox/apps" | ||
| PLUGIN_MAP_FILE="$HOME/.config/Jetbrains/plugins.json" | ||
| PLUGIN_ALREADY_INSTALLED_MAP="$HOME/.config/Jetbrains" |
There was a problem hiding this comment.
| LOGFILE="$HOME/.config/Jetbrains/install_plugins.log" | |
| TOOLBOX_BASE="$HOME/.local/share/JetBrains/Toolbox/apps" | |
| PLUGIN_MAP_FILE="$HOME/.config/Jetbrains/plugins.json" | |
| PLUGIN_ALREADY_INSTALLED_MAP="$HOME/.config/Jetbrains" | |
| LOGFILE="$HOME/.config/JetBrains/install_plugins.log" | |
| TOOLBOX_BASE="$HOME/.local/share/JetBrains/Toolbox/apps" | |
| PLUGIN_MAP_FILE="$HOME/.config/JetBrains/plugins.json" | |
| PLUGIN_ALREADY_INSTALLED_MAP="$HOME/.config/JetBrains" |
Should these not all exist in the same folder or is there an issue with them coexisting within the same folder?
|
@Harsh9485 Other than my above comment I have tested everything and it looks good. I will have Atif take a final look at this since he is in charge of the bounties, but thank you for the work, and I apologize for the wait on this. |
|
@DevelopmentCats lets meet to test this live. I want to be sure we provide a god enough UX as this is one of the most used module responsible for JetBrains integration. |
… of github.com:Harsh9485/registry into Pre-install-jetBrains-Plugins-Support-(InstallPlugins)













Description
Adds a jetbrains_plugins parameter to the JetBrains module.
This parameter accepts a map of JetBrains Marketplace plugin IDs and installs them automatically when the workspace restarts.
Approach
Type of Change
Module Information
Path:
registry/coder/modules/jetbrainsNew version:
v1.4.0Breaking change: [ ] Yes [x] No
Testing & Validation
bun test)bun fmt)/claim #208