diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 4ee0385c521932..df755d3e1680e2 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,41 +1,38 @@ { - "name": "gitpod", - "build": { - "context": "..", - "dockerfile": "./Dockerfile" - }, - "workspaceMount": "source=${localWorkspaceFolder},target=/workspace/gitpod,type=bind", - "workspaceFolder": "/workspace/gitpod/", - "postCreateCommand": "dev/install-dependencies.sh", - "mounts": [ - "source=/usr/local/gitpod/config/,target=/usr/local/gitpod/config/,type=bind" - ], - "remoteEnv": { - "GIT_EDITOR": "code --wait", - "KUBE_EDITOR": "code --wait" - }, - "features": { - "ghcr.io/devcontainers/features/docker-in-docker:2": { - "installDockerComposeSwitch": false - } - }, - "customizations": { - "vscode": { - "extensions": [ - "EditorConfig.EditorConfig", - "golang.go", - "hashicorp.terraform", - "ms-azuretools.vscode-docker", - "ms-kubernetes-tools.vscode-kubernetes-tools", - "stkb.rewrap", - "zxh404.vscode-proto3", - "matthewpi.caddyfile-support", - "timonwong.shellcheck", - "fwcd.kotlin", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "hbenl.vscode-mocha-test-adapter" - ] - } + "name": "gitpod", + "build": { + "context": "..", + "dockerfile": "./Dockerfile" + }, + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": {} + }, + "workspaceFolder": "/workspace/gitpod", + "workspaceMount": "source=${localWorkspaceFolder},target=/workspace/gitpod,type=bind", + "mounts": [ + "source=/usr/local/gitpod/config/,target=/usr/local/gitpod/config/,type=bind" + ], + "remoteEnv": { + "GIT_EDITOR": "code --wait", + "KUBE_EDITOR": "code --wait" + }, + "customizations": { + "vscode": { + "extensions": [ + "EditorConfig.EditorConfig", + "golang.go", + "hashicorp.terraform", + "ms-azuretools.vscode-docker", + "ms-kubernetes-tools.vscode-kubernetes-tools", + "stkb.rewrap", + "zxh404.vscode-proto3", + "matthewpi.caddyfile-support", + "timonwong.shellcheck", + "fwcd.kotlin", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "hbenl.vscode-mocha-test-adapter" + ] } + } } diff --git a/.gitignore b/.gitignore index c4cae571fe90df..6d36ce9ede3426 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,6 @@ dump.rdb # Claude settings .claude/settings.local.json + +# Gitpod mcp-config.json +.gitpod/mcp-config.json diff --git a/.gitpod/automations.yaml b/.gitpod/automations.yaml new file mode 100644 index 00000000000000..c29a9ed4021a67 --- /dev/null +++ b/.gitpod/automations.yaml @@ -0,0 +1,50 @@ +tasks: + installLocalAppCli: + command: | + leeway run components/local-app:install-cli + leeway run components/local-app:cli-completion + exit 0 + name: 'Install `gitpod` CLI' + triggeredBy: + - postDevcontainerStart + configurePreview: + command: INSTALL_CONTEXT=true leeway run dev/preview:configure-workspace + dependsOn: + - installPreviewctl + name: 'Preview environment configuration' + triggeredBy: + - postDevcontainerStart + buildJava: + command: | + leeway exec --package components/supervisor-api/java:lib --package components/gitpod-protocol/java:lib -- ./gradlew build + leeway exec --package components/ide/jetbrains/backend-plugin:plugin-latest --package components/ide/jetbrains/gateway-plugin:publish-latest --parallel -- ./gradlew buildPlugin + name: 'Java: build with Gradle' + installPreviewctl: + command: leeway run dev/preview/previewctl:install + name: 'Preview environment configuration: init' + installInstallerDependencies: + command: | + (cd install/installer && make deps) + exit 0 + name: 'Installer dependencies' + triggeredBy: + - postDevcontainerStart + buildTypescript: + command: yarn --network-timeout 100000 && yarn build + name: 'TypeScript: install and build' + triggeredBy: + - postDevcontainerStart + setupPreCommit: + command: | + pre-commit install --install-hooks + exit 0 + name: 'Install pre-commit hooks' + triggeredBy: + - postDevcontainerStart + initGo: + command: | + ./components/gitpod-protocol/go/scripts/generate-config.sh + leeway exec --filter-type go -v -- go mod verify + name: 'Go: init' + triggeredBy: + - postDevcontainerStart diff --git a/dev/install-dependencies.sh b/dev/install-dependencies.sh deleted file mode 100755 index dc674943d0da64..00000000000000 --- a/dev/install-dependencies.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" -leeway run dev/preview:configure-workspace -leeway run dev:install-dev-utils -leeway run dev/preview/previewctl:install -pre-commit install --install-hooks