From ab93c64b5908ca0d87d68e44ec1e696ab02654b1 Mon Sep 17 00:00:00 2001 From: Andrea Falzetti Date: Tue, 8 Nov 2022 15:14:54 +0000 Subject: [PATCH] feat(jetbrains): add rider and clion --- .../jetbrains-auto-update-template.yml | 2 + .github/workflows/jetbrains-auto-update.yml | 18 ++++ WORKSPACE.yaml | 2 + components/BUILD.yaml | 4 + .../dashboard/src/settings/SelectIDE.tsx | 2 +- .../dashboard/src/settings/SelectIDEModal.tsx | 2 +- components/dashboard/tailwind.config.js | 4 + .../gitpod-protocol/data/gitpod-schema.json | 8 ++ .../gitpod-protocol/go/gitpod-config-types.go | 36 ++++++++ components/gitpod-protocol/src/protocol.ts | 2 + .../static/image/ide-logo/clionLogo.svg | 1 + .../static/image/ide-logo/riderLogo.svg | 1 + components/ide/jetbrains/image/BUILD.js | 8 ++ .../jetbrains/image/gha-update-image/index.js | 14 +++ components/ide/jetbrains/image/hot-deploy.sh | 2 +- components/ide/jetbrains/image/status/main.go | 85 ++++++++++++++++--- .../image/supervisor-ide-config_clion.json | 10 +++ .../image/supervisor-ide-config_rider.json | 10 +++ components/server/src/ide-service.ts | 4 + .../testdata/render/aws-setup/output.golden | 60 ++++++++++++- .../testdata/render/azure-setup/output.golden | 60 ++++++++++++- .../render/customization/output.golden | 60 ++++++++++++- .../render/external-registry/output.golden | 60 ++++++++++++- .../testdata/render/gcp-setup/output.golden | 60 ++++++++++++- .../testdata/render/http-proxy/output.golden | 60 ++++++++++++- .../render/insecure-s3-setup/output.golden | 60 ++++++++++++- .../cmd/testdata/render/minimal/output.golden | 60 ++++++++++++- .../testdata/render/shortname/output.golden | 60 ++++++++++++- .../statefulset-customization/output.golden | 60 ++++++++++++- .../use-pod-security-policies/output.golden | 60 ++++++++++++- .../cmd/testdata/render/versions.yaml | 8 ++ .../workspace-requests-limits/output.golden | 60 ++++++++++++- .../ide-service/ide_config_configmap.go | 24 +++++- .../pkg/components/workspace/ide/constants.go | 2 + .../installer/pkg/config/versions/versions.go | 4 + test/tests/ide/jetbrains/gateway_test.go | 38 +++++++++ 36 files changed, 969 insertions(+), 42 deletions(-) create mode 100644 components/ide-proxy/static/image/ide-logo/clionLogo.svg create mode 100644 components/ide-proxy/static/image/ide-logo/riderLogo.svg create mode 100644 components/ide/jetbrains/image/supervisor-ide-config_clion.json create mode 100644 components/ide/jetbrains/image/supervisor-ide-config_rider.json diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index 7d13e75b09e439..ae5d83ae05a311 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -57,6 +57,8 @@ jobs: echo $IDE_VERSION - name: Leeway build if: ${{ steps.ide-version.outputs.result }} + env: + LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE: '8388608' run: | gcloud auth configure-docker --quiet export LEEWAY_WORKSPACE_ROOT=$(pwd) diff --git a/.github/workflows/jetbrains-auto-update.yml b/.github/workflows/jetbrains-auto-update.yml index 657a8a38e9e423..150cd94c2a82a0 100644 --- a/.github/workflows/jetbrains-auto-update.yml +++ b/.github/workflows/jetbrains-auto-update.yml @@ -65,3 +65,21 @@ jobs: projectId: ${{ secrets.GCP_PROJECT_ID }} serviceAccountKey: ${{ secrets.GCP_SA_KEY }} slackWebhook: ${{ secrets.IDE_SLACK_WEBHOOK }} + rider: + uses: ./.github/workflows/jetbrains-auto-update-template.yml + with: + productId: rider + productCode: RD + secrets: + projectId: ${{ secrets.GCP_PROJECT_ID }} + serviceAccountKey: ${{ secrets.GCP_SA_KEY }} + slackWebhook: ${{ secrets.IDE_SLACK_WEBHOOK }} + clion: + uses: ./.github/workflows/jetbrains-auto-update-template.yml + with: + productId: clion + productCode: CL + secrets: + projectId: ${{ secrets.GCP_PROJECT_ID }} + serviceAccountKey: ${{ secrets.GCP_SA_KEY }} + slackWebhook: ${{ secrets.IDE_SLACK_WEBHOOK }} diff --git a/WORKSPACE.yaml b/WORKSPACE.yaml index a07cde0d071fec..f2c53c60d30af4 100644 --- a/WORKSPACE.yaml +++ b/WORKSPACE.yaml @@ -17,6 +17,8 @@ defaultArgs: phpstormDownloadUrl: "https://download.jetbrains.com/webide/PhpStorm-2022.2.3.tar.gz" rubymineDownloadUrl: "https://download.jetbrains.com/ruby/RubyMine-2022.2.3.tar.gz" webstormDownloadUrl: "https://download.jetbrains.com/webstorm/WebStorm-2022.2.3.tar.gz" + riderDownloadUrl: "https://download.jetbrains.com/rider/JetBrains.Rider-2022.2.3.tar.gz" + clionDownloadUrl: "https://download.jetbrains.com/cpp/CLion-2022.2.3.tar.gz" REPLICATED_API_TOKEN: "" REPLICATED_APP: "" provenance: diff --git a/components/BUILD.yaml b/components/BUILD.yaml index d9ee3c8b023997..dbe116719b62cf 100644 --- a/components/BUILD.yaml +++ b/components/BUILD.yaml @@ -54,6 +54,10 @@ packages: - components/ide/jetbrains/image:rubymine-latest - components/ide/jetbrains/image:webstorm - components/ide/jetbrains/image:webstorm-latest + - components/ide/jetbrains/image:rider + - components/ide/jetbrains/image:rider-latest + - components/ide/jetbrains/image:clion + - components/ide/jetbrains/image:clion-latest - components/image-builder-bob:docker - components/image-builder-mk3:docker - components/local-app:docker diff --git a/components/dashboard/src/settings/SelectIDE.tsx b/components/dashboard/src/settings/SelectIDE.tsx index 247468cae7a34c..8cc587143f4be5 100644 --- a/components/dashboard/src/settings/SelectIDE.tsx +++ b/components/dashboard/src/settings/SelectIDE.tsx @@ -92,7 +92,7 @@ export default function SelectIDE(props: SelectIDEProps) { <> {allIdeOptions && ( <> -
+
{allIdeOptions.map(([id, option]) => { const selected = defaultIde === id; const onSelect = () => actuallySetDefaultIde(id); diff --git a/components/dashboard/src/settings/SelectIDEModal.tsx b/components/dashboard/src/settings/SelectIDEModal.tsx index dde3e350428c98..8da76b8a7d4309 100644 --- a/components/dashboard/src/settings/SelectIDEModal.tsx +++ b/components/dashboard/src/settings/SelectIDEModal.tsx @@ -44,7 +44,7 @@ export default function (props: SelectIDEModalProps) { visible={visible} onClose={handleContinue} closeable={true} - className="max-w-2xl" + className="max-w-51.5" buttons={} >

diff --git a/components/dashboard/tailwind.config.js b/components/dashboard/tailwind.config.js index 8695dd4b58b082..43868d950e07ca 100644 --- a/components/dashboard/tailwind.config.js +++ b/components/dashboard/tailwind.config.js @@ -42,6 +42,10 @@ module.exports = { 112: "28rem", 128: "32rem", }, + maxWidth: { + // TODO(andreafalzetti): remove custom ide-modal class once we implement https://github.com/gitpod-io/gitpod/issues/13116 + 51.5: "51.5rem", + }, }, fontFamily: { sans: [ diff --git a/components/gitpod-protocol/data/gitpod-schema.json b/components/gitpod-protocol/data/gitpod-schema.json index af20ffae0e7619..7ae43145801b23 100644 --- a/components/gitpod-protocol/data/gitpod-schema.json +++ b/components/gitpod-protocol/data/gitpod-schema.json @@ -283,6 +283,14 @@ "webstorm": { "$ref": "#/definitions/jetbrainsProduct", "description": "Configure WebStorm integration" + }, + "rider": { + "$ref": "#/definitions/jetbrainsProduct", + "description": "Configure Rider integration" + }, + "clion": { + "$ref": "#/definitions/jetbrainsProduct", + "description": "Configure CLion integration" } } }, diff --git a/components/gitpod-protocol/go/gitpod-config-types.go b/components/gitpod-protocol/go/gitpod-config-types.go index 69c88c1037078b..a2481473e67c15 100644 --- a/components/gitpod-protocol/go/gitpod-config-types.go +++ b/components/gitpod-protocol/go/gitpod-config-types.go @@ -101,6 +101,9 @@ type Image_object struct { // Jetbrains Configure JetBrains integration type Jetbrains struct { + // Configure CLion integration + Clion *JetbrainsProduct `yaml:"clion,omitempty"` + // Configure GoLand integration Goland *JetbrainsProduct `yaml:"goland,omitempty"` @@ -116,6 +119,9 @@ type Jetbrains struct { // Configure PyCharm integration Pycharm *JetbrainsProduct `yaml:"pycharm,omitempty"` + // Configure Rider integration + Rider *JetbrainsProduct `yaml:"rider,omitempty"` + // Configure RubyMine integration Rubymine *JetbrainsProduct `yaml:"rubymine,omitempty"` @@ -685,6 +691,17 @@ func (strct *Jetbrains) MarshalJSON() ([]byte, error) { buf := bytes.NewBuffer(make([]byte, 0)) buf.WriteString("{") comma := false + // Marshal the "clion" field + if comma { + buf.WriteString(",") + } + buf.WriteString("\"clion\": ") + if tmp, err := json.Marshal(strct.Clion); err != nil { + return nil, err + } else { + buf.Write(tmp) + } + comma = true // Marshal the "goland" field if comma { buf.WriteString(",") @@ -740,6 +757,17 @@ func (strct *Jetbrains) MarshalJSON() ([]byte, error) { buf.Write(tmp) } comma = true + // Marshal the "rider" field + if comma { + buf.WriteString(",") + } + buf.WriteString("\"rider\": ") + if tmp, err := json.Marshal(strct.Rider); err != nil { + return nil, err + } else { + buf.Write(tmp) + } + comma = true // Marshal the "rubymine" field if comma { buf.WriteString(",") @@ -776,6 +804,10 @@ func (strct *Jetbrains) UnmarshalJSON(b []byte) error { // parse all the defined properties for k, v := range jsonMap { switch k { + case "clion": + if err := json.Unmarshal([]byte(v), &strct.Clion); err != nil { + return err + } case "goland": if err := json.Unmarshal([]byte(v), &strct.Goland); err != nil { return err @@ -796,6 +828,10 @@ func (strct *Jetbrains) UnmarshalJSON(b []byte) error { if err := json.Unmarshal([]byte(v), &strct.Pycharm); err != nil { return err } + case "rider": + if err := json.Unmarshal([]byte(v), &strct.Rider); err != nil { + return err + } case "rubymine": if err := json.Unmarshal([]byte(v), &strct.Rubymine); err != nil { return err diff --git a/components/gitpod-protocol/src/protocol.ts b/components/gitpod-protocol/src/protocol.ts index b6759228165c3d..498ee53bcca63d 100644 --- a/components/gitpod-protocol/src/protocol.ts +++ b/components/gitpod-protocol/src/protocol.ts @@ -801,6 +801,8 @@ export interface JetBrainsConfig { phpstorm?: JetBrainsProductConfig; rubymine?: JetBrainsProductConfig; webstorm?: JetBrainsProductConfig; + rider?: JetBrainsProductConfig; + clion?: JetBrainsProductConfig; } export interface JetBrainsProductConfig { prebuilds?: JetBrainsPrebuilds; diff --git a/components/ide-proxy/static/image/ide-logo/clionLogo.svg b/components/ide-proxy/static/image/ide-logo/clionLogo.svg new file mode 100644 index 00000000000000..9632a5f26daa1c --- /dev/null +++ b/components/ide-proxy/static/image/ide-logo/clionLogo.svg @@ -0,0 +1 @@ + diff --git a/components/ide-proxy/static/image/ide-logo/riderLogo.svg b/components/ide-proxy/static/image/ide-logo/riderLogo.svg new file mode 100644 index 00000000000000..a7c99a94a546c5 --- /dev/null +++ b/components/ide-proxy/static/image/ide-logo/riderLogo.svg @@ -0,0 +1 @@ + diff --git a/components/ide/jetbrains/image/BUILD.js b/components/ide/jetbrains/image/BUILD.js index ffd34f731541dd..f028264022623a 100644 --- a/components/ide/jetbrains/image/BUILD.js +++ b/components/ide/jetbrains/image/BUILD.js @@ -27,6 +27,14 @@ const ideConfigs = [ name: "webstorm", productCode: "WS", }, + { + name: "rider", + productCode: "RD", + }, + { + name: "clion", + productCode: "CL", + }, ]; const packages = []; diff --git a/components/ide/jetbrains/image/gha-update-image/index.js b/components/ide/jetbrains/image/gha-update-image/index.js index e82c4ba47411a7..8c94d7cc8ad887 100644 --- a/components/ide/jetbrains/image/gha-update-image/index.js +++ b/components/ide/jetbrains/image/gha-update-image/index.js @@ -49,6 +49,20 @@ const IDEs = [ productType: "release", exampleRepo: "https://github.com/gitpod-io/template-jetbrains-webstorm", }, + { + productName: "Rider", + productId: "rider", + productCode: "RD", + productType: "release", + exampleRepo: "https://github.com/gitpod-io/template-dotnet-core-cli-csharp", + }, + { + productName: "CLion", + productId: "clion", + productCode: "CL", + productType: "release", + exampleRepo: "https://github.com/gitpod-io/template-cpp", + }, ]; (async () => { diff --git a/components/ide/jetbrains/image/hot-deploy.sh b/components/ide/jetbrains/image/hot-deploy.sh index f924c4647e36ec..7bb87b3dfefc5e 100755 --- a/components/ide/jetbrains/image/hot-deploy.sh +++ b/components/ide/jetbrains/image/hot-deploy.sh @@ -31,7 +31,7 @@ echo "Image Version: $version" bldfn="/tmp/build-$version.tar.gz" docker ps &> /dev/null || (echo "You need a working Docker daemon. Maybe set DOCKER_HOST?"; exit 1) -leeway build -Dversion="$version" -DimageRepoBase=eu.gcr.io/gitpod-core-dev/build ".:$component" --save "$bldfn" --dont-retag +leeway build -Dversion="$version" -DimageRepoBase=eu.gcr.io/gitpod-core-dev/build ".:$component" --save "$bldfn" dev_image="$(tar xfO "$bldfn" ./imgnames.txt | head -n1)" echo "Dev Image: $dev_image" diff --git a/components/ide/jetbrains/image/status/main.go b/components/ide/jetbrains/image/status/main.go index 63fb4e339f318e..03159317ce1780 100644 --- a/components/ide/jetbrains/image/status/main.go +++ b/components/ide/jetbrains/image/status/main.go @@ -18,6 +18,7 @@ import ( "os/signal" "path/filepath" "reflect" + "regexp" "strconv" "strings" "syscall" @@ -48,12 +49,54 @@ const BackendPath = "/ide-desktop/backend" const ProductInfoPath = BackendPath + "/product-info.json" type LaunchContext struct { - alias string - projectDir string - configDir string - systemDir string - projectConfigDir string - wsInfo *supervisor.WorkspaceInfoResponse + alias string + projectDir string + configDir string + systemDir string + projectConfigDir string + projectContextDir string + riderSolutionFile string + wsInfo *supervisor.WorkspaceInfoResponse +} + +// TODO(andreafalzetti): remove dir scanning once this is implemented https://youtrack.jetbrains.com/issue/GTW-2402/Rider-Open-Project-dialog-not-displaying-in-remote-dev +func findRiderSolutionFile(root string) (string, error) { + slnRegEx := regexp.MustCompile(`^.+\.sln$`) + projRegEx := regexp.MustCompile(`^.+\.csproj$`) + + var slnFiles []string + var csprojFiles []string + + err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } else if slnRegEx.MatchString(info.Name()) { + slnFiles = append(slnFiles, path) + } else if projRegEx.MatchString(info.Name()) { + csprojFiles = append(csprojFiles, path) + } + return nil + }) + + if err != nil { + return "", err + } + + if len(slnFiles) > 0 { + return slnFiles[0], nil + } else if len(csprojFiles) > 0 { + return csprojFiles[0], nil + } + + return root, nil +} + +func resolveProjectContextDir(launchCtx *LaunchContext) string { + if launchCtx.alias == "rider" { + return launchCtx.riderSolutionFile + } + + return launchCtx.projectDir } // JB startup entrypoint @@ -114,16 +157,29 @@ func main() { } else { qualifier = "-" + qualifier } + + var riderSolutionFile string + if alias == "rider" { + riderSolutionFile, err = findRiderSolutionFile(projectDir) + if err != nil { + log.WithError(err).Error("failed to find a rider solution file") + } + } + configDir := fmt.Sprintf("/workspace/.config/JetBrains%s", qualifier) launchCtx := &LaunchContext{ - alias: alias, - wsInfo: wsInfo, - projectDir: projectDir, - configDir: configDir, - systemDir: fmt.Sprintf("/workspace/.cache/JetBrains%s", qualifier), - projectConfigDir: fmt.Sprintf("%s/RemoteDev-%s/%s", configDir, info.ProductCode, strings.ReplaceAll(projectDir, "/", "_")), + alias: alias, + wsInfo: wsInfo, + projectDir: projectDir, + projectContextDir: projectDir, + configDir: configDir, + systemDir: fmt.Sprintf("/workspace/.cache/JetBrains%s", qualifier), + riderSolutionFile: riderSolutionFile, } + launchCtx.projectContextDir = resolveProjectContextDir(launchCtx) + launchCtx.projectConfigDir = fmt.Sprintf("%s/RemoteDev-%s/%s", configDir, info.ProductCode, strings.ReplaceAll(launchCtx.projectContextDir, "/", "_")) + // sync initial options err = syncOptions(launchCtx) if err != nil { @@ -362,7 +418,8 @@ func resolveWorkspaceInfo(ctx context.Context) (*supervisor.WorkspaceInfoRespons func run(launchCtx *LaunchContext) { var args []string args = append(args, "run") - args = append(args, launchCtx.projectDir) + args = append(args, launchCtx.projectContextDir) + cmd := remoteDevServerCmd(args, launchCtx) cmd.Env = append(cmd.Env, "JETBRAINS_GITPOD_BACKEND_KIND="+launchCtx.alias) workspaceUrl, err := url.Parse(launchCtx.wsInfo.WorkspaceUrl) @@ -599,7 +656,7 @@ func installPlugins(config *gitpod.GitpodConfig, launchCtx *LaunchContext) error var args []string args = append(args, "installPlugins") - args = append(args, launchCtx.projectDir) + args = append(args, launchCtx.projectContextDir) args = append(args, plugins...) cmd := remoteDevServerCmd(args, launchCtx) installErr := cmd.Run() diff --git a/components/ide/jetbrains/image/supervisor-ide-config_clion.json b/components/ide/jetbrains/image/supervisor-ide-config_clion.json new file mode 100644 index 00000000000000..e0dd9431645fad --- /dev/null +++ b/components/ide/jetbrains/image/supervisor-ide-config_clion.json @@ -0,0 +1,10 @@ +{ + "entrypoint": "/ide-desktop/startup.sh", + "entrypointArgs": [ "{DESKTOPIDEPORT}", "clion", "Open in CLion" ], + "readinessProbe": { + "type": "http", + "http": { + "path": "/status" + } + } +} diff --git a/components/ide/jetbrains/image/supervisor-ide-config_rider.json b/components/ide/jetbrains/image/supervisor-ide-config_rider.json new file mode 100644 index 00000000000000..265fe1cb0336be --- /dev/null +++ b/components/ide/jetbrains/image/supervisor-ide-config_rider.json @@ -0,0 +1,10 @@ +{ + "entrypoint": "/ide-desktop/startup.sh", + "entrypointArgs": [ "{DESKTOPIDEPORT}", "rider", "Open in Rider" ], + "readinessProbe": { + "type": "http", + "http": { + "path": "/status" + } + } +} diff --git a/components/server/src/ide-service.ts b/components/server/src/ide-service.ts index 9c6f2d5822378e..f7de2abfa52cf1 100644 --- a/components/server/src/ide-service.ts +++ b/components/server/src/ide-service.ts @@ -59,6 +59,10 @@ export class IDEService { productCode = "RM"; } else if (key === "webstorm") { productCode = "WS"; + } else if (key === "rider") { + productCode = "RD"; + } else if (key === "clion") { + productCode = "CL"; } const prebuilds = productCode && ws.config.jetbrains[key as keyof JetBrainsConfig]?.prebuilds; if (prebuilds) { diff --git a/install/installer/cmd/testdata/render/aws-setup/output.golden b/install/installer/cmd/testdata/render/aws-setup/output.golden index 7368c186d00077..8f7c68fba5951c 100644 --- a/install/installer/cmd/testdata/render/aws-setup/output.golden +++ b/install/installer/cmd/testdata/render/aws-setup/output.golden @@ -1565,6 +1565,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3398,6 +3410,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3455,6 +3477,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3487,7 +3519,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -4825,6 +4859,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -4882,6 +4926,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -4914,7 +4968,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/azure-setup/output.golden b/install/installer/cmd/testdata/render/azure-setup/output.golden index b403b32b0f4ea0..3b9f660e0e8680 100644 --- a/install/installer/cmd/testdata/render/azure-setup/output.golden +++ b/install/installer/cmd/testdata/render/azure-setup/output.golden @@ -1522,6 +1522,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3315,6 +3327,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3372,6 +3394,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3404,7 +3436,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -4688,6 +4722,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -4745,6 +4789,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -4777,7 +4831,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/customization/output.golden b/install/installer/cmd/testdata/render/customization/output.golden index b53a4ab67e50c6..77a4ea79e0d077 100644 --- a/install/installer/cmd/testdata/render/customization/output.golden +++ b/install/installer/cmd/testdata/render/customization/output.golden @@ -1784,6 +1784,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -4151,6 +4163,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -4208,6 +4230,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -4240,7 +4272,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -5669,6 +5703,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -5726,6 +5770,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -5758,7 +5812,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/external-registry/output.golden b/install/installer/cmd/testdata/render/external-registry/output.golden index 444ad06dfb348d..21e87ec14d7ed5 100644 --- a/install/installer/cmd/testdata/render/external-registry/output.golden +++ b/install/installer/cmd/testdata/render/external-registry/output.golden @@ -1569,6 +1569,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3456,6 +3468,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3513,6 +3535,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3545,7 +3577,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -4875,6 +4909,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -4932,6 +4976,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -4964,7 +5018,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/gcp-setup/output.golden b/install/installer/cmd/testdata/render/gcp-setup/output.golden index c084d4d6ea539b..b290ca337b4b76 100644 --- a/install/installer/cmd/testdata/render/gcp-setup/output.golden +++ b/install/installer/cmd/testdata/render/gcp-setup/output.golden @@ -1500,6 +1500,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3286,6 +3298,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3343,6 +3365,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3375,7 +3407,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -4649,6 +4683,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -4706,6 +4750,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -4738,7 +4792,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/http-proxy/output.golden b/install/installer/cmd/testdata/render/http-proxy/output.golden index a6ec8d72916ec7..94eb6c3f8505a3 100644 --- a/install/installer/cmd/testdata/render/http-proxy/output.golden +++ b/install/installer/cmd/testdata/render/http-proxy/output.golden @@ -1638,6 +1638,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3625,6 +3637,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3682,6 +3704,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3714,7 +3746,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -5098,6 +5132,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -5155,6 +5199,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -5187,7 +5241,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/insecure-s3-setup/output.golden b/install/installer/cmd/testdata/render/insecure-s3-setup/output.golden index dc7f0f3fe99e4e..f9d9a63e3b9e95 100644 --- a/install/installer/cmd/testdata/render/insecure-s3-setup/output.golden +++ b/install/installer/cmd/testdata/render/insecure-s3-setup/output.golden @@ -1609,6 +1609,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3536,6 +3548,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3593,6 +3615,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3625,7 +3657,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -5009,6 +5043,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -5066,6 +5110,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -5098,7 +5152,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/minimal/output.golden b/install/installer/cmd/testdata/render/minimal/output.golden index 01843af8030f43..56d1cb4df45e8b 100644 --- a/install/installer/cmd/testdata/render/minimal/output.golden +++ b/install/installer/cmd/testdata/render/minimal/output.golden @@ -1635,6 +1635,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3622,6 +3634,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3679,6 +3701,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3711,7 +3743,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -5095,6 +5129,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -5152,6 +5196,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -5184,7 +5238,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/shortname/output.golden b/install/installer/cmd/testdata/render/shortname/output.golden index e3713a18f38d33..6d1c976f7913c8 100644 --- a/install/installer/cmd/testdata/render/shortname/output.golden +++ b/install/installer/cmd/testdata/render/shortname/output.golden @@ -1635,6 +1635,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3622,6 +3634,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3679,6 +3701,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3711,7 +3743,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -5095,6 +5129,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -5152,6 +5196,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -5184,7 +5238,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/statefulset-customization/output.golden b/install/installer/cmd/testdata/render/statefulset-customization/output.golden index 533be2a93660fd..446f5bc9ae1c96 100644 --- a/install/installer/cmd/testdata/render/statefulset-customization/output.golden +++ b/install/installer/cmd/testdata/render/statefulset-customization/output.golden @@ -1647,6 +1647,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3634,6 +3646,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3691,6 +3713,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3723,7 +3755,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -5107,6 +5141,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -5164,6 +5208,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -5196,7 +5250,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/use-pod-security-policies/output.golden b/install/installer/cmd/testdata/render/use-pod-security-policies/output.golden index 387ebc21e17ede..841530d7376616 100644 --- a/install/installer/cmd/testdata/render/use-pod-security-policies/output.golden +++ b/install/installer/cmd/testdata/render/use-pod-security-policies/output.golden @@ -1857,6 +1857,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3955,6 +3967,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -4012,6 +4034,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -4044,7 +4076,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -5428,6 +5462,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -5485,6 +5529,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -5517,7 +5571,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/cmd/testdata/render/versions.yaml b/install/installer/cmd/testdata/render/versions.yaml index 79a7cd664bdf93..08a5c48c667371 100644 --- a/install/installer/cmd/testdata/render/versions.yaml +++ b/install/installer/cmd/testdata/render/versions.yaml @@ -90,6 +90,14 @@ components: version: test webstormLatest: version: test + rider: + version: test + riderLatest: + version: test + clion: + version: test + clionLatest: + version: test jbBackendPlugin: version: test jbBackendPluginLatest: diff --git a/install/installer/cmd/testdata/render/workspace-requests-limits/output.golden b/install/installer/cmd/testdata/render/workspace-requests-limits/output.golden index 11a04d5ab8abe2..275dcfec2c5098 100644 --- a/install/installer/cmd/testdata/render/workspace-requests-limits/output.golden +++ b/install/installer/cmd/testdata/render/workspace-requests-limits/output.golden @@ -1638,6 +1638,18 @@ data: "webstormLatest": { "version": "test" }, + "rider": { + "version": "test" + }, + "riderLatest": { + "version": "test" + }, + "clion": { + "version": "test" + }, + "clionLatest": { + "version": "test" + }, "jbBackendPlugin": { "version": "test" }, @@ -3625,6 +3637,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -3682,6 +3704,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -3714,7 +3746,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." @@ -5098,6 +5132,16 @@ data: "supervisorImage": "eu.gcr.io/gitpod-core-dev/build/supervisor:test", "ideOptions": { "options": { + "clion": { + "orderKey": "11", + "title": "CLion", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/clionLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/clion:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/clion:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "code": { "orderKey": "00", "title": "VS Code", @@ -5155,6 +5199,16 @@ data: "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" }, + "rider": { + "orderKey": "10", + "title": "Rider", + "type": "desktop", + "logo": "https://ide.gitpod.example.com/image/ide-logo/riderLogo.svg", + "image": "eu.gcr.io/gitpod-core-dev/build/ide/rider:test", + "latestImage": "eu.gcr.io/gitpod-core-dev/build/ide/rider:latest", + "pluginImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:test", + "pluginLatestImage": "eu.gcr.io/gitpod-core-dev/build/ide/jb-backend-plugin:latest" + }, "rubymine": { "orderKey": "08", "title": "RubyMine", @@ -5187,7 +5241,9 @@ data: "pycharm", "phpstorm", "rubymine", - "webstorm" + "webstorm", + "rider", + "clion" ], "installationSteps": [ "If you don't see an open dialog in your browser, make sure you have the \u003ca target='_blank' class='gp-link' href='https://www.gitpod.io/docs/ides-and-editors/jetbrains-gateway#getting-started-jetbrains-gateway'\u003eJetBrains Gateway with Gitpod Plugin\u003c/a\u003e installed on your machine, and then click \u003cb\u003e${OPEN_LINK_LABEL}\u003c/b\u003e below." diff --git a/install/installer/pkg/components/ide-service/ide_config_configmap.go b/install/installer/pkg/components/ide-service/ide_config_configmap.go index 416417b1fca67a..52fd53f98acc9c 100644 --- a/install/installer/pkg/components/ide-service/ide_config_configmap.go +++ b/install/installer/pkg/components/ide-service/ide_config_configmap.go @@ -33,6 +33,8 @@ func ideConfigConfigmap(ctx *common.RenderContext) ([]runtime.Object, error) { phpstorm := "phpstorm" rubymine := "rubymine" webstorm := "webstorm" + rider := "rider" + clion := "clion" resolveLatestImage := func(name string, tag string, bundledLatest versions.Versioned) string { resolveLatest := true @@ -70,7 +72,7 @@ func ideConfigConfigmap(ctx *common.RenderContext) ([]runtime.Object, error) { }, "jetbrains-gateway": { DefaultDesktopIDE: intellij, - DesktopIDEs: []string{intellij, goland, pycharm, phpstorm, rubymine, webstorm}, + DesktopIDEs: []string{intellij, goland, pycharm, phpstorm, rubymine, webstorm, rider, clion}, InstallationSteps: []string{ "If you don't see an open dialog in your browser, make sure you have the JetBrains Gateway with Gitpod Plugin installed on your machine, and then click ${OPEN_LINK_LABEL} below.", }, @@ -154,6 +156,26 @@ func ideConfigConfigmap(ctx *common.RenderContext) ([]runtime.Object, error) { PluginImage: jbPluginImage, PluginLatestImage: jbPluginLatestImage, }, + rider: { + OrderKey: "10", + Title: "Rider", + Type: ide_config.IDETypeDesktop, + Logo: getIdeLogoPath("riderLogo"), + Image: ctx.ImageName(ctx.Config.Repository, ide.RiderDesktopIdeImage, ctx.VersionManifest.Components.Workspace.DesktopIdeImages.RiderImage.Version), + LatestImage: ctx.ImageName(ctx.Config.Repository, ide.RiderDesktopIdeImage, "latest"), + PluginImage: jbPluginImage, + PluginLatestImage: jbPluginLatestImage, + }, + clion: { + OrderKey: "11", + Title: "CLion", + Type: ide_config.IDETypeDesktop, + Logo: getIdeLogoPath("clionLogo"), + Image: ctx.ImageName(ctx.Config.Repository, ide.CLionDesktopIdeImage, ctx.VersionManifest.Components.Workspace.DesktopIdeImages.CLionImage.Version), + LatestImage: ctx.ImageName(ctx.Config.Repository, ide.CLionDesktopIdeImage, "latest"), + PluginImage: jbPluginImage, + PluginLatestImage: jbPluginLatestImage, + }, }, DefaultIde: "code", DefaultDesktopIde: codeDesktop, diff --git a/install/installer/pkg/components/workspace/ide/constants.go b/install/installer/pkg/components/workspace/ide/constants.go index 184c7aa64fa217..5ea5c6ea2148e3 100644 --- a/install/installer/pkg/components/workspace/ide/constants.go +++ b/install/installer/pkg/components/workspace/ide/constants.go @@ -15,5 +15,7 @@ const ( PhpStormDesktopIdeImage = "ide/phpstorm" RubyMineDesktopIdeImage = "ide/rubymine" WebStormDesktopIdeImage = "ide/webstorm" + RiderDesktopIdeImage = "ide/rider" + CLionDesktopIdeImage = "ide/clion" JetBrainsBackendPluginImage = "ide/jb-backend-plugin" ) diff --git a/install/installer/pkg/config/versions/versions.go b/install/installer/pkg/config/versions/versions.go index ccdf427a4b934f..66e2e8c3fd0981 100644 --- a/install/installer/pkg/config/versions/versions.go +++ b/install/installer/pkg/config/versions/versions.go @@ -60,6 +60,10 @@ type Components struct { RubyMineLatestImage Versioned `json:"rubymineLatest"` WebStormImage Versioned `json:"webstorm"` WebStormLatestImage Versioned `json:"webstormLatest"` + RiderImage Versioned `json:"rider"` + RiderLatestImage Versioned `json:"riderLatest"` + CLionImage Versioned `json:"clion"` + CLionLatestImage Versioned `json:"clionLatest"` JetBrainsBackendPluginImage Versioned `json:"jbBackendPlugin"` JetBrainsBackendPluginLatestImage Versioned `json:"jbBackendPluginLatest"` } `json:"desktopIdeImages"` diff --git a/test/tests/ide/jetbrains/gateway_test.go b/test/tests/ide/jetbrains/gateway_test.go index 2bc7266a4cfd5c..7422af985f15c0 100644 --- a/test/tests/ide/jetbrains/gateway_test.go +++ b/test/tests/ide/jetbrains/gateway_test.go @@ -297,3 +297,41 @@ func TestWebStorm(t *testing.T) { Feature() testEnv.Test(t, f) } + +func TestRider(t *testing.T) { + if roboquatToken == "" { + t.Skip("this test need github action run permission") + } + integration.SkipWithoutUsername(t, username) + integration.SkipWithoutUserToken(t, userToken) + f := features.New("Start a workspace using Rider"). + WithLabel("component", "IDE"). + WithLabel("ide", "Rider"). + Assess("it can let JetBrains Gateway connect", func(_ context.Context, t *testing.T, cfg *envconf.Config) context.Context { + ctx, cancel := context.WithTimeout(context.Background(), 30*time.Minute) + defer cancel() + JetBrainsIDETest(ctx, t, cfg, "Rider", "https://github.com/gitpod-io/template-dotnet-core-cli-csharp") + return ctx + }). + Feature() + testEnv.Test(t, f) +} + +func TestCLion(t *testing.T) { + if roboquatToken == "" { + t.Skip("this test need github action run permission") + } + integration.SkipWithoutUsername(t, username) + integration.SkipWithoutUserToken(t, userToken) + f := features.New("Start a workspace using CLion"). + WithLabel("component", "IDE"). + WithLabel("ide", "CLion"). + Assess("it can let JetBrains Gateway connect", func(_ context.Context, t *testing.T, cfg *envconf.Config) context.Context { + ctx, cancel := context.WithTimeout(context.Background(), 30*time.Minute) + defer cancel() + JetBrainsIDETest(ctx, t, cfg, "CLion", "https://github.com/gitpod-io/template-cpp") + return ctx + }). + Feature() + testEnv.Test(t, f) +}