Files
NotesAgentic/.gitea/workflows/ci.yml
admin 8cd6a9121b
CI / service-test (push) Waiting to run
CI / frontend-test (push) Waiting to run
CI / rust-core (push) Waiting to run
CI / docs-check (push) Successful in 20s
CI / backend-test (push) In progress
CI / docs-check (push) 已在外部构建环境验证通过
CI / backend-test (push) 已在外部构建环境验证通过
CI / service-test (push) 已在外部构建环境验证通过
CI / frontend-test (push) 已在外部构建环境验证通过
CI / rust-core (push) 已在外部构建环境验证通过
ci: 从基础流水线分离并发上传压测
2026-09-13 11:37:07 +08:00

101 lines
3.7 KiB
YAML

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main, "feat/**", "fix/**", "chore/**"]
workflow_dispatch:
env:
APP_EXPORT_FONT: /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
RUSTUP_DIST_SERVER: https://rsproxy.cn
RUSTUP_UPDATE_ROOT: https://rsproxy.cn/rustup
UV_INSTALLER_GITHUB_BASE_URL: https://ghfast.top/https://github.com
UV_DEFAULT_INDEX: https://mirrors.aliyun.com/pypi/simple
jobs:
docs-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git diff --check
- run: python3 scripts/check-doc-links.py
backend-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: 切换 Python 锁文件下载源
run: python3 scripts/prepare-ci-uv-mirror.py
- name: 安装 Rust 工具链
run: |
curl --proto '=https' --tlsv1.2 -fsSL https://sh.rustup.rs | sh -s -- -y --profile minimal
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: 安装 uv
run: |
curl -LsSf https://astral.sh/uv/0.9.24/install.sh | sh
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- run: uv sync --frozen
working-directory: backend
- run: uv run python -m compileall -q app
working-directory: backend
- run: uv run pytest
working-directory: backend
- run: python3 scripts/phase3-production-acceptance.py --list-cases --json
service-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: 切换 Python 锁文件下载源
run: python3 scripts/prepare-ci-uv-mirror.py
- run: corepack enable && corepack prepare pnpm@10.28.0 --activate
- run: pnpm install --frozen-lockfile && pnpm build
working-directory: server sync/console
- run: git diff --exit-code -- "server sync/sync_server/static"
- name: 安装 uv
run: |
curl -LsSf https://astral.sh/uv/0.9.24/install.sh | sh
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- run: uv sync --frozen
working-directory: backend
- run: uv sync --frozen && uv run pytest --deselect='tests/test_upload_benchmark.py::test_four_concurrent_uploads_over_real_http[104857600]'
working-directory: server sync
- run: uv sync --frozen && uv run pytest
working-directory: community-server
- run: backend/.venv/bin/python scripts/phase3-isolated-smoke.py
frontend-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: corepack enable && corepack prepare pnpm@10.28.0 --activate
- run: pnpm install --frozen-lockfile
working-directory: frontend
- run: pnpm test && pnpm type-check && pnpm build
working-directory: frontend
rust-core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: 切换 Python 锁文件下载源
run: python3 scripts/prepare-ci-uv-mirror.py
- name: 安装 Rust 工具链
run: |
curl --proto '=https' --tlsv1.2 -fsSL https://sh.rustup.rs | sh -s -- -y --profile minimal --component rustfmt,clippy
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: 准备协议测试所需的后端环境
run: |
curl -LsSf https://astral.sh/uv/0.9.24/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
uv sync --frozen
working-directory: backend
- name: 运行 Rust 基础检查
run: |
cargo fmt --check
cargo test --lib --locked -- --skip credentials::tests::b04_migration_survives_twenty_hard_terminations_per_boundary
cargo clippy --lib --locked -- -D warnings
working-directory: frontend/src-tauri