Skip to content

docs: move language links to center, remove nav links #146

docs: move language links to center, remove nav links

docs: move language links to center, remove nav links #146

Workflow file for this run

name: CI
on:
push:
paths-ignore:
- "**/*.md"
pull_request:
paths-ignore:
- "**/*.md"
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
backend:
name: Backend (Python)
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: apps/api
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
cache-dependency-path: apps/api/pyproject.toml
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Lint with Ruff
run: |
ruff check .
ruff format --check .
- name: Type check with mypy
run: mypy --config-file mypy.ini
- name: Run tests with coverage
run: pytest tests/ -v --cov=app --cov-report=xml --cov-report=term --cov-fail-under=65
env:
DATABASE_URL: "sqlite+aiosqlite:///:memory:"
JWT_SECRET_KEY: test-secret-key-for-ci
ENCRYPTION_KEY: dGVzdC1lbmNyeXB0aW9uLWtleS0zMmJ5dGVz
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
file: apps/api/coverage.xml
flags: backend
fail_ci_if_error: false
frontend:
name: Frontend (Next.js)
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: apps/web
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: apps/web/package-lock.json
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Type check
run: npm run type-check
- name: Run unit tests
run: npm run test
- name: Build
run: npm run build
env:
NEXT_PUBLIC_API_URL: http://localhost:8000
INTERNAL_API_URL: http://localhost:8000
ci-success:
name: CI Success
needs: [backend, frontend]
if: always()
runs-on: ubuntu-latest
steps:
- name: Verify required jobs
run: |
if [ "${{ needs.backend.result }}" != "success" ] || [ "${{ needs.frontend.result }}" != "success" ]; then
echo "At least one CI job failed"
exit 1
fi
echo "✅ All CI checks passed!"