Skip to content

chore(deps): bump the python-dev group across 1 directory with 2 updates #13

chore(deps): bump the python-dev group across 1 directory with 2 updates

chore(deps): bump the python-dev group across 1 directory with 2 updates #13

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
backend:
name: Backend (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.13"]
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: agentary
POSTGRES_PASSWORD: agentary_test
POSTGRES_DB: agentary_test
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U agentary"
--health-interval=5s
--health-timeout=3s
--health-retries=10
redis:
image: redis:7-alpine
ports:
- 6379:6379
options: >-
--health-cmd="redis-cli ping"
--health-interval=5s
--health-timeout=3s
--health-retries=10
env:
DATABASE_URL: postgresql://agentary:agentary_test@localhost:5432/agentary_test
REDIS_URL: redis://localhost:6379/0
CELERY_BROKER_URL: redis://localhost:6379/0
JWT_SECRET_KEY: test-secret-key-32-chars-minimum-length
SECRET_KEY: test-secret-key-32-chars-minimum-length
APP_ENV: test
GEMINI_API_KEY: test
EXA_API_KEY: test
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: backend/requirements.txt
- name: Install dependencies
working-directory: backend
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install ruff black mypy isort pytest-cov
- name: Ruff lint
working-directory: backend
run: ruff check app tests
- name: Black format check
working-directory: backend
run: black --check app tests
- name: isort check
working-directory: backend
run: isort --check-only app tests
- name: Mypy type check
working-directory: backend
run: mypy app --ignore-missing-imports --no-strict-optional || true
continue-on-error: true
- name: Pytest
working-directory: backend
run: pytest --cov=app --cov-report=xml --cov-report=term --maxfail=5 -q
- name: Upload coverage
if: always()
uses: actions/upload-artifact@v4
with:
name: backend-coverage
path: backend/coverage.xml
if-no-files-found: warn
dashboard:
name: Dashboard (Node ${{ matrix.node-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ["20"]
defaults:
run:
working-directory: dashboard
steps:
- uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
cache-dependency-path: dashboard/package-lock.json
- name: Install dependencies
run: npm ci --no-audit --no-fund
- name: ESLint
run: npm run lint
- name: TypeScript type check
run: npx tsc --noEmit
- name: Vitest
run: npm test -- --reporter=verbose
- name: Build
run: npm run build
env:
NEXT_PUBLIC_API_URL: http://localhost:8000