41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [master]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: astral-sh/setup-uv@v6
|
|
with:
|
|
version: "0.8.8"
|
|
enable-cache: true
|
|
- name: Set up Python
|
|
run: uv python install 3.12
|
|
- name: Verify lockfile
|
|
run: uv lock --check
|
|
- name: Install locked dependencies
|
|
run: uv sync --locked --group dev --python 3.12
|
|
- name: Lint and formatting
|
|
run: |
|
|
uv run ruff check nocobase_crm_mcp scripts tests
|
|
uv run ruff format --check nocobase_crm_mcp scripts tests
|
|
- name: Type check
|
|
run: uv run mypy
|
|
- name: Compile package
|
|
run: uv run --python 3.12 python -m compileall -q nocobase_crm_mcp scripts
|
|
- name: Run tests
|
|
run: uv run --python 3.12 python -m unittest discover -s tests -v
|
|
- name: Build distribution
|
|
run: uv build
|
|
- name: Audit dependencies
|
|
run: uv run pip-audit
|