From 14ef5af29e2b0d492813eac074e39fe9190ee52d Mon Sep 17 00:00:00 2001 From: Elio Bischof Date: Tue, 22 Jul 2025 16:56:13 +0200 Subject: [PATCH] debug and pipeline dev containers --- .devcontainer/base/Dockerfile | 2 ++ .devcontainer/base/devcontainer.json | 3 +-- .devcontainer/base/docker-compose.yml | 5 +++-- .../devcontainer.json | 9 ++++----- .../docker-compose.yml | 7 ++----- .../login-integration/devcontainer.json | 19 +++++++++++++++++++ .../devcontainer.json | 9 ++++----- .../docker-compose.yml | 4 ++-- .../turbo-lint-unit/devcontainer.json | 18 ++++++++++++++++++ apps/login/packages/integration/package.json | 3 ++- package.json | 4 +--- turbo.json | 6 ++++-- 12 files changed, 62 insertions(+), 27 deletions(-) rename .devcontainer/{debug-login-integration => login-integration-debug}/devcontainer.json (66%) rename .devcontainer/{debug-login-integration => login-integration-debug}/docker-compose.yml (55%) create mode 100644 .devcontainer/login-integration/devcontainer.json rename .devcontainer/{debug-turbo-lint-unit => turbo-lint-unit-debug}/devcontainer.json (67%) rename .devcontainer/{debug-turbo-lint-unit => turbo-lint-unit-debug}/docker-compose.yml (57%) create mode 100644 .devcontainer/turbo-lint-unit/devcontainer.json diff --git a/.devcontainer/base/Dockerfile b/.devcontainer/base/Dockerfile index 119594bc6f..fc484289e4 100644 --- a/.devcontainer/base/Dockerfile +++ b/.devcontainer/base/Dockerfile @@ -14,3 +14,5 @@ RUN apt-get update && \ libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb && \ apt-get clean && \ corepack enable && COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack prepare pnpm@9.1.2 --activate + +USER node \ No newline at end of file diff --git a/.devcontainer/base/devcontainer.json b/.devcontainer/base/devcontainer.json index b09e82e8ca..187e012e67 100644 --- a/.devcontainer/base/devcontainer.json +++ b/.devcontainer/base/devcontainer.json @@ -17,8 +17,7 @@ 4200, 8080 ], - "remoteUser": "node", - "onCreateCommand": "pnpm install -g sass@1.64.1 && pnpm install --frozen-lockfile --recursive", + "onCreateCommand": "pnpm install -g sass@1.64.1", "customizations": { "jetbrains": { "settings": { diff --git a/.devcontainer/base/docker-compose.yml b/.devcontainer/base/docker-compose.yml index 9e0cfede8c..30b759cdee 100644 --- a/.devcontainer/base/docker-compose.yml +++ b/.devcontainer/base/docker-compose.yml @@ -2,13 +2,12 @@ services: devcontainer: container_name: devcontainer - user: node build: context: . volumes: - ../../:/workspaces:cached - /tmp/.X11-unix:/tmp/.X11-unix:cached - - ~/.cache:/home/vscode/.cache:delegated + - home-dot-cache:/home/node/.cache:delegated command: sleep infinity working_dir: /workspaces environment: @@ -47,6 +46,7 @@ services: env_file: ../../apps/login/apps/login/.env.test network_mode: service:devcontainer environment: + NODE_ENV: test PORT: 3001 depends_on: mock-zitadel: @@ -219,3 +219,4 @@ services: volumes: postgres-data: + home-dot-cache: diff --git a/.devcontainer/debug-login-integration/devcontainer.json b/.devcontainer/login-integration-debug/devcontainer.json similarity index 66% rename from .devcontainer/debug-login-integration/devcontainer.json rename to .devcontainer/login-integration-debug/devcontainer.json index 91c9ff7432..edff3786d2 100644 --- a/.devcontainer/debug-login-integration/devcontainer.json +++ b/.devcontainer/login-integration-debug/devcontainer.json @@ -1,17 +1,16 @@ { "$schema": "https://raw.githubusercontent.com/devcontainers/spec/refs/heads/main/schemas/devContainer.schema.json", - "name": "debug-login-integration", + "name": "login-integration-debug", "dockerComposeFile": [ "../base/docker-compose.yml", "docker-compose.yml" ], - "service": "debug-login-integration", - "runServices": ["debug-login-integration"], + "service": "login-integration-debug", + "runServices": ["login-integration-debug"], "workspaceFolder": "/workspaces", "forwardPorts": [3001], - "remoteUser": "node", "onCreateCommand": "pnpm install --frozen-lockfile --recursive", - "postAttachCommand": "pnpm turbo daemon clean || pnpm turbo @zitadel/login#dev", + "postAttachCommand": "pnpm turbo daemon clean; pnpm turbo @zitadel/login#dev test:integration:login:debug", "customizations": { "jetbrains": { "settings": { diff --git a/.devcontainer/debug-login-integration/docker-compose.yml b/.devcontainer/login-integration-debug/docker-compose.yml similarity index 55% rename from .devcontainer/debug-login-integration/docker-compose.yml rename to .devcontainer/login-integration-debug/docker-compose.yml index ba71a0514d..11ce02ee7d 100644 --- a/.devcontainer/debug-login-integration/docker-compose.yml +++ b/.devcontainer/login-integration-debug/docker-compose.yml @@ -1,12 +1,9 @@ services: - debug-login-integration: + login-integration-debug: extends: file: ../base/docker-compose.yml service: devcontainer - container_name: debug-login-integration - environment: - NODE_ENV: 'test' - PORT: 3001 + container_name: login-integration-debug depends_on: mock-zitadel: condition: service_started diff --git a/.devcontainer/login-integration/devcontainer.json b/.devcontainer/login-integration/devcontainer.json new file mode 100644 index 0000000000..f838b3d599 --- /dev/null +++ b/.devcontainer/login-integration/devcontainer.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://raw.githubusercontent.com/devcontainers/spec/refs/heads/main/schemas/devContainer.schema.json", + "name": "login-integration", + "dockerComposeFile": [ + "../base/docker-compose.yml" + ], + "service": "devcontainer", + "runServices": ["login-integration"], + "workspaceFolder": "/workspaces", + "forwardPorts": [3001], + "onCreateCommand": "pnpm install --frozen-lockfile --recursive && pnpm turbo test:integration:login", + "customizations": { + "jetbrains": { + "settings": { + "com.intellij:app:HttpConfigurable.use_proxy_pac": true + } + } + } +} diff --git a/.devcontainer/debug-turbo-lint-unit/devcontainer.json b/.devcontainer/turbo-lint-unit-debug/devcontainer.json similarity index 67% rename from .devcontainer/debug-turbo-lint-unit/devcontainer.json rename to .devcontainer/turbo-lint-unit-debug/devcontainer.json index b8b23c5268..9d5bf3af08 100644 --- a/.devcontainer/debug-turbo-lint-unit/devcontainer.json +++ b/.devcontainer/turbo-lint-unit-debug/devcontainer.json @@ -1,17 +1,16 @@ { "$schema": "https://raw.githubusercontent.com/devcontainers/spec/refs/heads/main/schemas/devContainer.schema.json", - "name": "debug-turbo-lint-unit", + "name": "turbo-lint-unit-debug", "dockerComposeFile": [ "../base/docker-compose.yml", "docker-compose.yml" ], - "service": "debug-turbo-lint-unit", - "runServices": ["debug-turbo-lint-unit"], + "service": "turbo-lint-unit-debug", + "runServices": ["turbo-lint-unit-debug"], "workspaceFolder": "/workspaces", "forwardPorts": [3001], - "remoteUser": "node", "onCreateCommand": "pnpm install --frozen-lockfile --recursive", - "postAttachCommand": "pnpm turbo daemon clean || pnpm turbo watch lint test:unit", + "postAttachCommand": "pnpm turbo daemon clean; pnpm turbo watch lint test:unit", "customizations": { "jetbrains": { "settings": { diff --git a/.devcontainer/debug-turbo-lint-unit/docker-compose.yml b/.devcontainer/turbo-lint-unit-debug/docker-compose.yml similarity index 57% rename from .devcontainer/debug-turbo-lint-unit/docker-compose.yml rename to .devcontainer/turbo-lint-unit-debug/docker-compose.yml index 6d8fd2adb8..a19a0211e5 100644 --- a/.devcontainer/debug-turbo-lint-unit/docker-compose.yml +++ b/.devcontainer/turbo-lint-unit-debug/docker-compose.yml @@ -1,6 +1,6 @@ services: - debug-turbo-lint-unit: + turbo-lint-unit-debug: extends: file: ../base/docker-compose.yml service: devcontainer - container_name: debug-turbo-lint-unit + container_name: turbo-lint-unit-debug diff --git a/.devcontainer/turbo-lint-unit/devcontainer.json b/.devcontainer/turbo-lint-unit/devcontainer.json new file mode 100644 index 0000000000..817e6068e0 --- /dev/null +++ b/.devcontainer/turbo-lint-unit/devcontainer.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://raw.githubusercontent.com/devcontainers/spec/refs/heads/main/schemas/devContainer.schema.json", + "name": "turbo-lint-unit", + "dockerComposeFile": [ + "../base/docker-compose.yml" + ], + "service": "devcontainer", + "runServices": ["devcontainer"], + "workspaceFolder": "/workspaces", + "onCreateCommand": "pnpm install --frozen-lockfile --recursive && pnpm turbo lint test:unit", + "customizations": { + "jetbrains": { + "settings": { + "com.intellij:app:HttpConfigurable.use_proxy_pac": true + } + } + } +} diff --git a/apps/login/packages/integration/package.json b/apps/login/packages/integration/package.json index 78dc694819..799d27da83 100644 --- a/apps/login/packages/integration/package.json +++ b/apps/login/packages/integration/package.json @@ -2,7 +2,8 @@ "name": "login-test-integration", "private": true, "scripts": { - "test:integration": "DISPLAY='' dotenv -e ../../apps/login/.env.test cypress" + "test:integration:login": "cypress run", + "test:integration:login:debug": "cypress open" }, "devDependencies": { "@types/node": "^22.14.1", diff --git a/package.json b/package.json index a33d021749..3c292a04d6 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,7 @@ "name": "zitadel-monorepo", "scripts": { "changeset": "changeset", - "devcontainer": "devcontainer", - "test:integration": "cd apps/login/packages/integration && pnpm test:integration", - "test:acceptance": "cd apps/login/packages/acceptance && pnpm test:acceptance" + "devcontainer": "devcontainer" }, "pnpm": { "overrides": { diff --git a/turbo.json b/turbo.json index b135522abd..f072e73b3a 100644 --- a/turbo.json +++ b/turbo.json @@ -14,6 +14,7 @@ "NEXT_PUBLIC_BASE_PATH", "CUSTOM_REQUEST_HEADERS", "NODE_ENV", + "PORT", "INKEEP_API_KEY", "DISPLAY", "CYPRESS_DISPLAY" @@ -27,14 +28,15 @@ "with": [ "lint", "test:unit", - "test:integration", + "test:integration:login", "test:acceptance", "test:e2e" ] }, "start": {}, "test:unit": {}, - "test:integration": {}, + "test:integration:login": {}, + "test:integration:login:debug": {}, "test:acceptance": {}, "test:e2e": {}, "lint": {},