Files
NotesAgentic/.gitea/workflows/ci.yml
T

76 lines
2.5 KiB
YAML

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main, "feat/**", "fix/**", "chore/**"]
workflow_dispatch:
jobs:
docs-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: { python-version: "3.12" }
- run: git diff --check
- run: python scripts/check-doc-links.py
backend-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: { python-version: "3.12" }
- run: pip install uv==0.9.24
- 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: python scripts/phase3-production-acceptance.py --list-cases --json
service-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: { python-version: "3.12" }
- uses: actions/setup-node@v4
with: { node-version: "22", cache: pnpm, cache-dependency-path: "server sync/console/pnpm-lock.yaml" }
- 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"
- run: pip install uv==0.9.24
- run: uv sync --frozen
working-directory: backend
- run: uv sync --frozen && uv run pytest
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
- uses: actions/setup-node@v4
with: { node-version: "22", cache: pnpm, cache-dependency-path: frontend/pnpm-lock.yaml }
- 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
- uses: dtolnay/rust-toolchain@stable
with: { components: rustfmt, clippy }
- run: cargo fmt --check && cargo test --lib --locked && cargo clippy --lib --locked -- -D warnings
working-directory: frontend/src-tauri