From 59f07d823a69b57710f5202d85d573faae616f42 Mon Sep 17 00:00:00 2001 From: Stev_Wang <304865932@qq.com> Date: Wed, 4 Nov 2026 18:05:55 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E6=8C=89=E4=BB=BB=E5=8A=A1=E5=A3=B0?= =?UTF-8?q?=E6=98=8E=20VITE=20=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E6=B1=A1=E6=9F=93=E5=8D=95=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 背景:run #41 单测推进到 @lingxi/web 后失败——use-login-form.spec 断言真实登录, 但 VITE_PUBLIC_DEMO_SESSION=true 在 job 级 env 对所有步骤生效,且 turbo globalEnv 会把 VITE 变量下发给 test 任务,导致演示会话被打开。 改动: - turbo.json:globalEnv 的 VITE 变量改为 build / dev 任务显式声明; - ci.yml:VITE 变量从 job env 下移到「构建」「端到端冒烟」两个步骤。 影响面:单测不再看到 demo 会话开关;构建与 e2e 仍以 demo 会话构建。 回滚方式:revert 本提交。 验证证据:本地 turbo web build / test 通过;推送后观察 run #42。 --- .gitea/workflows/ci.yml | 9 +++++++-- turbo.json | 7 ++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index dcf1eb0..46c8253 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -50,8 +50,6 @@ jobs: JWT_ACCESS_SECRET: ci-only-access-secret-at-least-32-chars JWT_REFRESH_SECRET: ci-only-refresh-secret-at-least-32-chars WEB_ORIGIN: http://127.0.0.1:4173 - VITE_PUBLIC_API_BASE_URL: http://127.0.0.1:3000/api/v1 - VITE_PUBLIC_DEMO_SESSION: 'true' PLAYWRIGHT_CHANNEL: '' steps: @@ -89,7 +87,11 @@ jobs: - name: 单元测试与覆盖率 run: pnpm test + # VITE_PUBLIC_DEMO_SESSION 只给构建 / e2e,避免污染单测里对真实登录流程的断言。 - name: 构建 + env: + VITE_PUBLIC_API_BASE_URL: http://127.0.0.1:3000/api/v1 + VITE_PUBLIC_DEMO_SESSION: 'true' run: pnpm build - name: 数据库迁移与幂等种子 @@ -109,6 +111,9 @@ jobs: run: pnpm exec playwright install --with-deps chromium - name: 端到端冒烟 + env: + VITE_PUBLIC_API_BASE_URL: http://127.0.0.1:3000/api/v1 + VITE_PUBLIC_DEMO_SESSION: 'true' run: pnpm test:e2e - name: 归档测试产物 diff --git a/turbo.json b/turbo.json index 49e5eaf..7743650 100644 --- a/turbo.json +++ b/turbo.json @@ -1,15 +1,16 @@ { "$schema": "https://turbo.build/schema.json", "ui": "stream", - "globalEnv": ["VITE_PUBLIC_API_BASE_URL", "VITE_PUBLIC_DEMO_SESSION"], "tasks": { "build": { "dependsOn": ["^build"], - "outputs": ["dist/**"] + "outputs": ["dist/**"], + "env": ["VITE_PUBLIC_API_BASE_URL", "VITE_PUBLIC_DEMO_SESSION"] }, "dev": { "cache": false, - "persistent": true + "persistent": true, + "env": ["VITE_PUBLIC_API_BASE_URL", "VITE_PUBLIC_DEMO_SESSION"] }, "typecheck": { "dependsOn": ["^build"]