From 42c6f96d54bcb3282041fa4c7dcc5dc706015b35 Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Tue, 21 Jul 2026 08:02:34 +0800 Subject: [PATCH] fix: build Python package in isolation --- .github/workflows/backend-quality-gate.yml | 2 +- frontend/tests/staging-backend-workflows.test.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/backend-quality-gate.yml b/.github/workflows/backend-quality-gate.yml index ab9c71b2..f82c5f3f 100644 --- a/.github/workflows/backend-quality-gate.yml +++ b/.github/workflows/backend-quality-gate.yml @@ -63,7 +63,7 @@ jobs: python scripts/run_quality_gate.py \ --profile quick --skip-yoga-logic --skip-frontend-runtime \ 2>&1 | tee artifacts/quick-quality-gate.log - python -m build --no-isolation + python -m build - name: Upload quick quality gate diagnostics if: always() diff --git a/frontend/tests/staging-backend-workflows.test.ts b/frontend/tests/staging-backend-workflows.test.ts index 6afc5283..4e69f7e9 100644 --- a/frontend/tests/staging-backend-workflows.test.ts +++ b/frontend/tests/staging-backend-workflows.test.ts @@ -75,6 +75,13 @@ test("quality gate validates relevant changes once and publishes a digest manife assert.doesNotMatch(workflow, /(?:^|:)latest$/m); }); +test("quality gate builds the Python package with its declared backend dependencies", () => { + const workflow = read(qualityWorkflow); + + assert.match(workflow, /^\s+python -m build$/m); + assert.doesNotMatch(workflow, /python -m build --no-isolation/); +}); + test("deployment test command includes manifest behavior coverage", () => { const packageJson = JSON.parse( readFileSync(new URL("../package.json", import.meta.url), "utf8"),