chore(deps)(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /bibmeded/frontend #97
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: | |
| workflow_dispatch: | |
| push: | |
| branches: [master, main] | |
| pull_request: | |
| branches: [master, main] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| backend: | |
| name: Backend tests (Python ${{ matrix.python-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.12', '3.13'] | |
| defaults: | |
| run: | |
| working-directory: bibmeded | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| cache-dependency-path: bibmeded/pyproject.toml | |
| - name: Install dependencies | |
| run: pip install -e ".[dev]" | |
| - name: Run pytest | |
| run: pytest -q --cov=app --cov-report=term-missing | |
| frontend-build: | |
| name: Frontend build | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: bibmeded/frontend | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: '20' | |
| cache: npm | |
| cache-dependency-path: bibmeded/frontend/package-lock.json | |
| - name: Install dependencies | |
| run: npm ci || npm install | |
| - name: Type check | |
| run: npx tsc --noEmit | |
| - name: Lint | |
| run: npm run lint | |
| - name: Build | |
| run: npm run build | |
| env: | |
| NEXT_PUBLIC_API_URL: http://localhost:8000 | |
| frontend-e2e: | |
| name: E2E accessibility (Chromium) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: bibmeded/frontend | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: '20' | |
| cache: npm | |
| cache-dependency-path: bibmeded/frontend/package-lock.json | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Install Chromium | |
| run: npx playwright install --with-deps chromium | |
| - name: Build frontend | |
| run: npm run build | |
| env: | |
| NEXT_PUBLIC_API_URL: http://localhost:8000 | |
| - name: Run E2E and accessibility tests | |
| run: npm run test:e2e | |
| - name: Upload Playwright report | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: playwright-report | |
| path: | | |
| bibmeded/frontend/playwright-report/ | |
| bibmeded/frontend/playwright-results.xml | |
| bibmeded/frontend/test-results/ | |
| retention-days: 14 | |
| docs-build: | |
| name: Docs build (MkDocs strict) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: bibmeded | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: '3.12' | |
| cache: pip | |
| cache-dependency-path: bibmeded/pyproject.toml | |
| - name: Install docs dependencies | |
| run: pip install -e ".[docs]" | |
| - name: Build docs | |
| run: mkdocs build --strict --config-file ../mkdocs.yml | |
| migrations-postgres: | |
| name: Migrations (Postgres) | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:16 | |
| env: | |
| POSTGRES_USER: bibmeded | |
| POSTGRES_PASSWORD: bibmeded | |
| POSTGRES_DB: bibmeded | |
| ports: | |
| - 5432:5432 | |
| options: >- | |
| --health-cmd="pg_isready -U bibmeded" | |
| --health-interval=5s | |
| --health-timeout=5s | |
| --health-retries=10 | |
| defaults: | |
| run: | |
| working-directory: bibmeded | |
| env: | |
| BIBMEDED_DATABASE_URL: postgresql://bibmeded:bibmeded@localhost:5432/bibmeded | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v7 | |
| with: | |
| python-version: '3.12' | |
| cache: pip | |
| cache-dependency-path: bibmeded/pyproject.toml | |
| - name: Install dependencies | |
| run: pip install -e . | |
| - name: Fresh-DB guard path (alembic upgrade head on empty Postgres) | |
| run: alembic upgrade head | |
| - name: Seed pre-0002 schema fixture (globally-unique pmid, no project_id) | |
| run: python scripts/ci/seed_pre_0002_fixture.py | |
| - name: Stamp alembic at 0001_baseline (simulates a pre-0002 production DB) | |
| run: alembic stamp 0001_baseline | |
| - name: Run alembic upgrade head to exercise the real project_id backfill | |
| run: alembic upgrade head | |
| - name: Verify publications.project_id was backfilled and is NOT NULL | |
| run: python scripts/ci/verify_0002_backfill.py | |
| docker-build: | |
| name: Docker build smoke test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Build backend image | |
| run: docker build -f bibmeded/Dockerfile bibmeded | |
| - name: Build frontend image | |
| run: docker build -f bibmeded/frontend/Dockerfile bibmeded/frontend |