- 后端: coworker 智能体框架, WS API, 文件上传, 附件处理 - 前端: Open WebUI, 文件全量走 upload API (含 MD/TXT/JSON 等文本类) - 技能: md-to-office (pandoc + wkhtmltopdf) - 修复: 上传文件路径丢失, Agent 搜索浪费, 输出文件跑到 uploads/ - 打包: PyInstaller one-dir, 预打包 pandoc/wkhtmltopdf/chromium
60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
# App CI — the coworker Python suite, the GUI unit tests, and the hermetic
|
|
# Playwright e2e suite (mocked /v1 + WS; no model or network needed).
|
|
|
|
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
pytest:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.12"
|
|
- name: Install
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -e ".[messaging,dev,bedrock]"
|
|
- name: Test
|
|
run: pytest tests -q
|
|
|
|
gui-unit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: npm
|
|
cache-dependency-path: surfaces/gui/package-lock.json
|
|
- name: npm ci
|
|
working-directory: surfaces/gui
|
|
run: npm ci
|
|
- name: Typecheck
|
|
working-directory: surfaces/gui
|
|
run: npx tsc --noEmit
|
|
- name: Unit tests
|
|
working-directory: surfaces/gui
|
|
run: npm test
|
|
|
|
gui-e2e:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: npm
|
|
cache-dependency-path: surfaces/gui/package-lock.json
|
|
- name: npm ci
|
|
working-directory: surfaces/gui
|
|
run: npm ci
|
|
- name: Install Playwright browsers
|
|
working-directory: surfaces/gui
|
|
run: npx playwright install --with-deps chromium
|
|
- name: e2e
|
|
working-directory: surfaces/gui
|
|
run: npm run e2e
|