65 lines
2.0 KiB
YAML

name: 检查
on:
push:
branches: [main, feat/**]
pull_request:
jobs:
checks:
name: 检查
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14
env:
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_DB: muse_acceptance
ports: ["5432:5432"]
options: >-
--health-cmd "pg_isready -U postgres -d muse_acceptance"
--health-interval 5s --health-timeout 5s --health-retries 10
env:
MUSE_TEST_DATABASE_URL: postgresql://postgres@127.0.0.1:5432/muse_acceptance
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
with:
python-version: "3.12"
- uses: pnpm/action-setup@v4
with:
version: 10.6.4
- uses: actions/setup-node@v4
with:
node-version: "24.15.0"
cache: pnpm
cache-dependency-path: web/pnpm-lock.yaml
- name: 安装前端依赖
run: make 前端安装
- name: 安装依赖
run: make 安装
- name: 格式与类型检查
run: |
make 格式
make 类型
- name: 索引一致性
run: uv run python 工具/维护索引.py --检查
- name: 前端检查与交互测试
run: |
make 前端检查
make 前端测试
- name: 离线测试
run: make 测试
- name: 构建并验收同批安装包
run: |
make 构建
make 包验收 包=dist/muse-0.1.0-py3-none-any.whl
- name: 初始化隔离用途角色
run: psql "$MUSE_TEST_DATABASE_URL" -v ON_ERROR_STOP=1 -f 数据库/初始化/用途角色.sql
- name: 隔离数据库测试
run: MUSE_RUN_FULL_DB=1 make 数据库测试
- name: 固定Pi宿主整链
run: |
npm install --prefix "$RUNNER_TEMP/muse-pi" --no-save --ignore-scripts @earendil-works/pi-coding-agent@0.85.1
MUSE_PI_NODE="$(command -v node)" MUSE_PI_PACKAGE="$RUNNER_TEMP/muse-pi/node_modules/@earendil-works/pi-coding-agent" make 宿主测试