Skip to content

Refactor AI context and add integration tests #83

Refactor AI context and add integration tests

Refactor AI context and add integration tests #83

Workflow file for this run

---
name: CI
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
jobs:
lint:
name: Lint & format
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: uv sync --all-extras
- name: Ruff lint
run: uv run ruff check core/ plugins/ server/ tests/
- name: Set up Go 1.21
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Check Go formatting
working-directory: ./client
run: |
UNFORMATTED=$(gofmt -l .)
if [ -n "$UNFORMATTED" ]; then
echo "The following files need formatting:"
echo "$UNFORMATTED"
exit 1
fi
security:
name: Security audit
needs: lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: uv sync --all-extras
- name: Audit dependencies for known CVEs
run: uv run pip-audit -r requirements.txt
test:
name: Test suite
needs: lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: uv sync --all-extras
- name: Run Python tests with coverage
run: |
uv run pytest tests/ \
-n auto \
--cov=core \
--cov=plugins \
--cov=server \
--cov-report=term-missing \
--cov-fail-under=80
- name: Set up Go 1.21
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Run Go tests
working-directory: ./client
run: go test ./...