From 298a73e8e50cbc7a7a0ede8a07f4209f9b48bbc5 Mon Sep 17 00:00:00 2001 From: jesse-ux Date: Tue, 15 Sep 2026 18:31:46 +0800 Subject: [PATCH] fix(ci): keep vendor/** on both quality-gate path filters BUG-714: deploy/gated-paths.txt already listed vendor/** after the qizheng vendoring, but backend-quality-gate.yml did not. The contract test requires the two lists to match. --- .gitea/workflows/backend-quality-gate.yml | 2 ++ docs/BUG_HISTORY.md | 16 ++++++++++++++++ .../PROGRESS-readonly-pages-fix-20260916.md | 8 ++++++++ 3 files changed, 26 insertions(+) diff --git a/.gitea/workflows/backend-quality-gate.yml b/.gitea/workflows/backend-quality-gate.yml index 86ce9701..2f5c3c65 100644 --- a/.gitea/workflows/backend-quality-gate.yml +++ b/.gitea/workflows/backend-quality-gate.yml @@ -22,6 +22,7 @@ on: - 'skills/**' - 'deploy/**' - 'frontend/**' + - 'vendor/**' - 'contracts/**' push: branches: [staging] @@ -41,6 +42,7 @@ on: - 'skills/**' - 'deploy/**' - 'frontend/**' + - 'vendor/**' - 'contracts/**' workflow_dispatch: diff --git a/docs/BUG_HISTORY.md b/docs/BUG_HISTORY.md index 6692988d..c38b136b 100644 --- a/docs/BUG_HISTORY.md +++ b/docs/BUG_HISTORY.md @@ -11093,3 +11093,19 @@ - 相关记录:BUG-014、BUG-126、BUG-143、BUG-454 - 复发自:BUG-454 - 修复版本:待发布 + +## BUG-714 | `gated-paths.txt` 有 `vendor/**`,quality-gate workflow 的 `paths:` 没有 + +- 状态:resolved +- 首次发现:2026-09-16 +- 最近更新:2026-09-16 +- 影响面:Gitea `backend-quality-gate` run `2636`、`frontend/tests/staging-backend-workflows.test.ts` +- 用户现象:run `2636` 前端门禁 `# fail 1`:`gated paths are one list shared by both quality-gate triggers`。期望含 `vendor/**`,workflow 实际没有。 +- 触发条件:qizheng 单把 `vendor/**` 写入 `deploy/gated-paths.txt` 后,未同步 `.gitea/workflows/backend-quality-gate.yml` 的 `pull_request` / `push` `paths:`。 +- 根因:清单是单一真相,workflow 过滤器靠合同测试对齐。只改了 txt、没改 yml,合同必然红;同时 vendor 纯改动也不会触发门禁。 +- 修复:两个 trigger 的 `paths:` 都补上 `vendor/**`,顺序与 `gated-paths.txt` 一致。不改 job 逻辑、不改 deploy-production。 +- 验证:`npx tsx --test tests/staging-backend-workflows.test.ts` 该条通过;推 staging 后门禁 run。 +- 防复发:改 `deploy/gated-paths.txt` 必须同一提交改 `backend-quality-gate.yml` 的两份 `paths:`。该合同测试就是为这件事存在的。 +- 相关记录:TASK-qizheng-native-chart-20260915、TASK-readonly-pages-fix-20260916 +- 复发自:无 +- 修复版本:待发布 diff --git a/docs/tasks/PROGRESS-readonly-pages-fix-20260916.md b/docs/tasks/PROGRESS-readonly-pages-fix-20260916.md index ab2ae0b3..ea67e0ef 100644 --- a/docs/tasks/PROGRESS-readonly-pages-fix-20260916.md +++ b/docs/tasks/PROGRESS-readonly-pages-fix-20260916.md @@ -58,6 +58,14 @@ Gitea `backend-quality-gate` run `2635`(`a38a9415`)失败: 门禁数字:`1 failed, 765 passed, 1 skipped`。本条修完后应回到 766 passed。 +## 门禁补修(BUG-714) + +Gitea run `2636`(`8d6a4bd0`)Python 段过了,前端 `# fail 1`: + +`gated paths are one list shared by both quality-gate triggers` + +`deploy/gated-paths.txt` 已有 `vendor/**`,`.gitea/workflows/backend-quality-gate.yml` 的两份 `paths:` 没有。按清单补上,不改 job 逻辑。 + ## 合入 `git push origin HEAD:staging`,核对远端 SHA。部署是否追上见推送后的 `/api/health`。