Skip to content

feat(v3.1.66): 实体面板与写作区反向联动(点角色卡/世界书卡片,正文定位并高亮) #595

feat(v3.1.66): 实体面板与写作区反向联动(点角色卡/世界书卡片,正文定位并高亮)

feat(v3.1.66): 实体面板与写作区反向联动(点角色卡/世界书卡片,正文定位并高亮) #595

Workflow file for this run

name: CI
# 标签(snap/* 快照锚点、backup/* 备份锚点、v* 发版标签)都不跑 CI,
# 省得打标签/发版时白烧 4 分钟;CI 只在 push 到 main/master 分支时跑
on:
push:
branches: [main, master]
tags-ignore:
- '*'
pull_request:
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v7
with:
node-version: "20"
- name: Install
run: npm ci || npm install
# 直连 SQLite 的集成测试(chat-sessions / babylore 自检等)需要真实的表结构。
# 项目卖点是「clone 后零安装即用本地 SQLite」,CI 里跑一次 db push 正好验证这条路径。
# 缺这一步时这些套件会以 PrismaClientKnownRequestError 整组失败(表不存在)。
- name: Setup database
run: npx prisma db push
env:
DATABASE_URL: "file:./data/novelforge.db"
- name: Type check
run: npx tsc --noEmit
- name: Test
run: npm test
env:
DATABASE_URL: "file:./data/novelforge.db"
- name: Color guard (ARCH-7)
run: npm run lint:colors
- name: Build
run: npm run build
# lint 存量 2542 问题(1134 errors,多为历史 no-explicit-any)为技术债,暂不硬门禁;
# 待专项清理后移除豁免。tsc/vitest/build 已是硬门禁,任一失败即红。
- name: Lint (legacy debt, non-blocking)
run: npm run lint || echo "::warning::lint 存量 1134 errors 待专项清理"