gitpod icon indicating copy to clipboard operation
gitpod copied to clipboard

Build - make backend-plugin readiness a condition of JetBrains IDEs readiness

Open mustard-mh opened this issue 9 months ago • 0 comments

Description

  • [x] Part 1/2 merge this PR to
    • Bring functionality and compatibility to jb-launcer
    • Proper handle ide readiness timeout in supervisor
  • [ ] Part 2/2 upgrade all backend-launcher to latest build after this PR merged into main

We have three launcher in ide-configmap.json

  • jb-launcher:commit-2e8e2d9d60156010db07711335f362299242c6a7 -> latest -> compatible
  • jb-launcher:commit-614cc59b70f3ebfe26b3a31a32088da54af1c9db -> f5127b661152e8040d0806a757862148e0c027c8 -> compatible
  • b6bd8411cbb5682eb18ef60a3b9fa8cdbb2b64d9 -> b704c9c97e76e2a6cf42dcea14fdddfb4f313dcc

Only the third one need to add compatible code

func linkRemotePlugin(launchCtx *LaunchContext) error {
	launchCtx.backendDir + "/plugins/gitpod-remote"

// to

func linkRemotePlugin(launchCtx *LaunchContext) error {
	launchCtx.configDir + "/plugins/gitpod-remote"

Related Issue(s)

Relates ENT-19, ENT-35

How to test

Archive.zip

zip file above includes two .yaml files which could be used below

It can connect and backend works well

  • Force update cm/ide-config to use latest launcher and reload ide-service
  • Start IDEs (like IntelliJ) with stable, pined stable, intellij-previous, they should all works well
stable 2024.1.1 pinned stable 2023.3.6 intellij-previous 2022.3.3
SCR-20240508-pgut SCR-20240508-pfuq SCR-20240508-phma

IDE readiness should never ready with buggy backend plugin

  • Force update cm ide-config to use buggy config and reload ide-service
  • Start IntelliJ with pinned stable 2023.3.6. It should not be Running phase
pinned stable 2023.3.6 after 5 minutes
image image

Metric status image

Documentation

Preview status

Gitpod was successfully deployed to your preview environment.

Build Options

Build
  • [ ] /werft with-werft Run the build with werft instead of GHA
  • [ ] leeway-no-cache
  • [ ] /werft no-test Run Leeway with --dont-test
Publish
  • [ ] /werft publish-to-npm
  • [ ] /werft publish-to-jb-marketplace
Installer
  • [ ] analytics=segment
  • [ ] with-dedicated-emulation
  • [ ] workspace-feature-flags Add desired feature flags to the end of the line above, space separated
Preview Environment / Integration Tests
  • [ ] /werft with-local-preview If enabled this will build install/preview
  • [x] /werft with-preview
  • [x] /werft with-large-vm
  • [x] /werft with-gce-vm If enabled this will create the environment on GCE infra
  • [x] /werft preemptible Saves cost. Untick this only if you're really sure you need a non-preemtible machine.
  • [x] with-integration-tests=jetbrains Valid options are all, workspace, webapp, ide, jetbrains, vscode, ssh. If enabled, with-preview and with-large-vm will be enabled.
  • [ ] with-monitoring

/hold

mustard-mh avatar May 08 '24 07:05 mustard-mh