Skip to content

chore(deps): bump fastapi from 0.137.1 to 0.138.0 in /backend #346

chore(deps): bump fastapi from 0.137.1 to 0.138.0 in /backend

chore(deps): bump fastapi from 0.137.1 to 0.138.0 in /backend #346

Workflow file for this run

name: PR Checks
on:
pull_request:
branches: [main]
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
dependency-review:
name: Dependency Review
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
with:
fail-on-severity: high
deny-licenses: GPL-3.0, AGPL-3.0, GPL-2.0
frontend:
name: Frontend — type-check, lint, test & build
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: 11
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '22'
cache: pnpm
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Type-check
run: pnpm type-check
- name: Lint
run: pnpm lint
- name: Test
run: pnpm test
- name: Audit dependencies
run: pnpm audit --audit-level high
- name: Build
run: pnpm build
backend:
name: Backend — lint, type-check & tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.12'
cache: pip
cache-dependency-path: backend/requirements-dev.lock
- name: Install dependencies
run: pip install --require-hashes -r requirements-dev.lock && pip install --no-deps -e .
- name: Lint (ruff)
run: ruff check . --output-format github
- name: Type-check (mypy)
run: mypy luma --ignore-missing-imports
- name: Audit dependencies
run: pip-audit
- name: Tests
run: pytest -x -q --tb=short
env:
DATABASE_URL: "postgresql+asyncpg://test:test@localhost/testdb"
REDIS_URL: "redis://localhost:6379/0"
JWT_SECRET: "test-secret-do-not-use-in-production"
HAE_SHARED_SECRET: "test-hae-shared-secret-32-bytes-min"
migrations:
name: Migrations — apply & check
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
services:
postgres:
image: timescale/timescaledb:2.16.1-pg16
env:
POSTGRES_USER: luma
POSTGRES_PASSWORD: luma
POSTGRES_DB: luma_test
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.12'
cache: pip
cache-dependency-path: backend/requirements-dev.lock
- name: Install dependencies
run: pip install --require-hashes -r requirements-dev.lock && pip install --no-deps -e .
- name: Apply migrations
run: alembic upgrade head
env:
DATABASE_URL: "postgresql+asyncpg://luma:luma@localhost:5432/luma_test"
- name: Check for unapplied model changes
run: alembic check
env:
DATABASE_URL: "postgresql+asyncpg://luma:luma@localhost:5432/luma_test"