chore(deps): bump the python-dev group across 1 directory with 2 updates #13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |