fix: restore main-only CI policy and remove branch validation workflow

This commit is contained in:
2026-10-30 16:36:20 +08:00
parent 534795617d
commit a80f6568ff
4 changed files with 4 additions and 26 deletions
-22
View File
@@ -1,22 +0,0 @@
name: Verify database-backed documents
on:
pull_request:
branches: [main]
workflow_dispatch:
jobs:
verify:
if: gitea.head_ref == 'codex/database-docs' || (gitea.event_name == 'workflow_dispatch' && gitea.ref == 'refs/heads/codex/database-docs')
runs-on: ces-control
timeout-minutes: 45
env:
DOCKER_BUILDKIT: "0"
CI_CACHE_SCOPE: pr-${{ gitea.event.pull_request.number || '0' }}
steps:
- uses: actions/checkout@v4
with:
github-server-url: ${{ gitea.server_url }}
persist-credentials: false
fetch-depth: 0
- name: Validate migration and runtime without deployment
run: python3 scripts/ci.py
+1 -1
View File
@@ -1,6 +1,6 @@
# Tabularium working agreements
- 本仓库专门维护 Endor 文档与制图脚本。支持本地开发;CI/CD 使用现有 ces-control Runner,在 main 通过验证后自动部署。不得修改其他项目、共享 Runner 配置或清理共享 Docker 缓存。
- 本仓库专门维护 Endor 文档与制图脚本。支持本地开发;CI/CD 仅在 main 使用现有 ces-control Runner,验证通过后自动部署;工作分支与 PR 不运行 CI,确认 Runner 不构成扩大触发范围的授权。不得修改其他项目、共享 Runner 配置或清理共享 Docker 缓存。
- Web 技术栈为 TypeScript、React、Tailwind CSS、Next.js Pages Router;不要切换到 App Router。
- 使用 pnpm 管理 JavaScript workspace,使用 uv 管理 `tools/figures` 的 Python 项目,保留两套锁文件。
- 文档正文、目录元数据与修订记录以站点现有 SQLite 数据库为唯一权威源,使用 docs 管理工具直接更新;不得把新正文、目录 JSON、数据库文件或日常内容快照提交到仓库。历史 Git 文档只用于显式的一次性迁移,不作为运行时种子。Python 图形源码放在 `tools/figures/src/endor_figures`,可复现的 SVG 输出放在 `apps/docs/public/figures`。
+2 -2
View File
@@ -57,7 +57,7 @@ backup 是包含登录、研究、正文、别名和修订的完整 SQLite 一
使用 React、Next.js Pages Router、TypeScript 和 Tailwind CSS。JavaScript 用 pnpm,制图 Python 用 uv。编译、构建、打包和构建产物全部在已确认的 ces-control Runner 执行;`pnpm test:docs` 等测试脚本会调用 esbuild,也只能在 Runner 执行。
迁移 PR 有专用验证工作流,执行 lint、类型检查、数据库事务/版本测试、现有认证与研究测试、图形检查、构建与容器冒烟,不部署。主线验证通过后才沿用既有部署流程,仍等待用户手动合并 PR。
工作分支与 PR 不运行 CI,仅做不会触发编译、构建的轻量检查。用户手动合并 main 后,才在 ces-control 执行 lint、类型检查、数据库事务/版本测试、现有认证与研究测试、图形检查、构建与容器冒烟;验证通过才沿用既有部署流程。
冒烟使用隔离数据库卷:完整导入后逐项核对全部正文与目录,验证新建、更新、重命名、搜索立即变化及容器重启后的持久化,并覆盖全部文档地址、认证、媒体和原文端点。测试卷不会触及生产数据库。
@@ -161,7 +161,7 @@ AI 关键词可能出现在业务背景中,收入、买家和交付状态仍
文档内容已退出构建输入。若需对照研究数据检查数据库中的报告正文,可先导出当前文档,再给研究脚本传入 `--document-export`;默认 `--check` 只核对研究数据本身的统计和审计不变量,避免把历史迁移快照继续当作日常正文源。
`.gitea/workflows/ci-deploy.yml` 使用已有 ces-control Runner,不修改共享 Runner 配置。
部署工作流仅在 main 推送或针对 main 的手动运行时执行。迁移分支 `codex/database-docs` 由独立的 `docs-database-verify.yml` 在 PR 或手动触发时执行完整验证,使用 PR 隔离缓存,不部署;报告须区分未运行与已通过。
工作流仅在 main 推送或针对 main 的手动运行时执行,工作分支与 PR 不触发 CI。确认 ces-control 是构建位置,不构成新增分支 CI 的授权;报告须区分轻量检查与主线 CI。
1. 对实际构建输入计算 SHA-256:前端源码、图片、Python 制图源码、研究业务快照、依赖锁文件、Dockerfile 和构建脚本。
2. 命中 `verified-<scope>-<摘要>` 镜像时跳过依赖安装和 Next.js build,只做认证、实际路由与资源冒烟检查。
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/sh
set -eu
export CI=true
pnpm install --frozen-lockfile --store-dir /pnpm/store --fetch-timeout 300000
pnpm install --frozen-lockfile --store-dir /pnpm/store
uv sync --project tools/figures --locked
pnpm run lint
pnpm run typecheck