mirror of
https://github.com/algerkong/AlgerMusicPlayer.git
synced 2026-07-07 17:58:57 +08:00
95694057ec
tsconfig.web.json 的 compilerOptions.types 显式 require
src/renderer/{auto-imports,components}.d.ts,这两个文件由
unplugin-auto-import / unplugin-vue-components 在 vite 启动时生成,
且被 .gitignore 排除(58922dc 维护者主动设置)。
CI 直接跑 typecheck 拿不到 d.ts 会报 TS2688,导致所有 PR 都过不了
Code Quality job。在 Type check 步骤前插入一次 npm run build 触发
unplugin 生成 d.ts,同时顺带验证 build 链路(一次到位,不增加额外
专用脚本,CI 多 30-60s 但能拦下 build 阶段的回归)。
本地验证:删除两个 d.ts 后跑 npm run build 重新生成,typecheck 通过。
79 lines
2.2 KiB
YAML
79 lines
2.2 KiB
YAML
name: PR Check
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
types: [opened, edited, synchronize, reopened]
|
|
|
|
jobs:
|
|
# 检查 PR 标题是否符合 Conventional Commits 规范
|
|
pr-title:
|
|
name: PR Title
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 24
|
|
|
|
- name: Install commitlint
|
|
run: npm install --no-save @commitlint/cli @commitlint/config-conventional
|
|
|
|
- name: Validate PR title
|
|
env:
|
|
PR_TITLE: ${{ github.event.pull_request.title }}
|
|
run: echo "$PR_TITLE" | npx commitlint
|
|
|
|
# 检查所有提交信息是否符合 Conventional Commits 规范
|
|
commit-messages:
|
|
name: Commit Messages
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 24
|
|
|
|
- name: Install commitlint
|
|
run: npm install --no-save @commitlint/cli @commitlint/config-conventional
|
|
|
|
- name: Validate commit messages
|
|
run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
|
|
|
|
# 运行 lint 和类型检查
|
|
code-quality:
|
|
name: Code Quality
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 24
|
|
|
|
- name: Install dependencies
|
|
run: npm install
|
|
|
|
- name: Lint
|
|
run: npx eslint --max-warnings 0 "src/**/*.{ts,tsx,vue,js}"
|
|
|
|
# tsconfig.web.json 显式 require src/renderer/{auto-imports,components}.d.ts
|
|
# 这两个文件由 unplugin-auto-import / unplugin-vue-components 在 vite 启动时
|
|
# 生成,且被 .gitignore 排除(58922dc 维护者主动设置)。CI 直接跑 typecheck
|
|
# 拿不到 d.ts 会报 TS2688,先跑一次 build 触发 unplugin 生成
|
|
- name: Build (generates auto-import / components d.ts)
|
|
run: npm run build
|
|
|
|
- name: Type check
|
|
run: npm run typecheck
|
|
|
|
- name: I18n check
|
|
run: npm run lint:i18n
|