From e63d5f07c45a8c0bf0eaddcac05907dbb4ad9d52 Mon Sep 17 00:00:00 2001 From: Xiaoxia AI Date: Tue, 23 Jun 2026 15:22:26 +0800 Subject: [PATCH] ci(e2e): gate production releases with browser upload smoke --- .gitea/workflows/deploy.yml | 30 ++++++++++++++++++++++++++++++ docs/agents/AGENT-BOARD.md | 10 +++++----- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index af546a5af..4efb41c16 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -197,3 +197,33 @@ jobs: done exit 1 REMOTE_DEPLOY + + production-e2e: + name: Production Browser E2E + runs-on: runtime-builder + if: startsWith(github.ref, 'refs/tags/v') + needs: deploy-production + + steps: + - name: Checkout code + shell: sh + env: + GITHUB_TOKEN: ${{ github.token }} + run: | + set -eu + archive_url="${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/archive/${GITHUB_SHA}.tar.gz" + wget --header="Authorization: token ${GITHUB_TOKEN}" -O /tmp/repo.tar.gz "$archive_url" + tar -xzf /tmp/repo.tar.gz --strip-components=1 -C . + rm -f /tmp/repo.tar.gz + + - name: Run production browser E2E + shell: sh + run: | + set -eu + docker run --rm \ + -e E2E_BASE_URL=https://saas.xiaoxiajianji.com \ + -e E2E_BROWSER_CHANNEL=chromium \ + -v "$PWD:/workspace" \ + -w /workspace/apps/web \ + mcr.microsoft.com/playwright:v1.45.0-jammy \ + sh -lc 'npm ci && npx playwright test --project=chromium e2e/core-upload.spec.ts' diff --git a/docs/agents/AGENT-BOARD.md b/docs/agents/AGENT-BOARD.md index 99715556e..5f15b00f2 100644 --- a/docs/agents/AGENT-BOARD.md +++ b/docs/agents/AGENT-BOARD.md @@ -17,8 +17,8 @@ | `lint_review_agent` | completed | 校验 E2E 使用规则内 8 Agent、真实浏览器、生产可配置 baseURL | 本状态板 | 无 | | `test_agent` | completed | 生产 Chromium E2E 全量通过 | `4 passed (16.2s)` | 无 | | `build_pack_agent` | completed | 前端 build 通过 | `npm --prefix apps/web run build` | 无 | -| `release_agent` | pending | E2E 先作为门禁脚本提交,暂不单独发生产版本 | 待提交 | 等提交 | -| `ops_monitor_agent` | pending | 提交后检查工作区和后续发版接入 | 待输出 | 等 release | +| `release_agent` | completed | E2E 门禁脚本已提交,并加入 tag 发布后的 production-e2e job | `.gitea/workflows/deploy.yml` | 无 | +| `ops_monitor_agent` | pending | 下一步设计 OSS 直传前先检查 workflow 语法和工作区 | 待输出 | 等 workflow 验证 | ## 当前核心验收目标 @@ -38,6 +38,6 @@ ## 下一步队列 -1. 将 E2E 纳入发布门禁/Gitea Actions。 -2. 设计 OSS 直传上传方案。 -3. 扩展 E2E:生成视频 → 下载 MP4 → 检查文件可用。 +1. 设计 OSS 直传上传方案。 +2. 扩展 E2E:生成视频 → 下载 MP4 → 检查文件可用。 +3. 观察下一次 tag 发布后的 `production-e2e` job。