Skip to content

feat: dynamic model discovery from OpenRouter + React Doctor 100/100 #11

feat: dynamic model discovery from OpenRouter + React Doctor 100/100

feat: dynamic model discovery from OpenRouter + React Doctor 100/100 #11

Workflow file for this run

name: Lint & Format Check
on:
pull_request:
branches: [main]
push:
branches: [main]
concurrency:
group: lint-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-backend:
name: Backend (Ruff)
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: uv sync --group dev --frozen
- name: Ruff lint
run: uv run ruff check . --output-format=github
- name: Ruff format check
run: uv run ruff format . --check
lint-frontend:
name: Frontend (ESLint + Prettier)
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: ESLint
run: npx eslint src/ --max-warnings=0
- name: Prettier check
run: npx prettier --check "src/**/*.{ts,tsx,css,json}"
- name: Knip (unused deps, exports, files)
run: npx knip
build-frontend:
name: Frontend Build
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
env:
NEXT_PUBLIC_SUPABASE_URL: "https://snqtclnmhcaupqynjyux.supabase.co"
NEXT_PUBLIC_SUPABASE_ANON_KEY: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InNucXRjbG5taGNhdXBxeW5qeXV4Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTIwODA1NjMsImV4cCI6MjA2NzY1NjU2M30.kItD97rTmof6nflCPM8-0RxR003nbc6T1-KNVi3nA_g"
NEXT_PUBLIC_BACKEND_URL: "http://localhost:8000/api"
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: "pk_test_c3RpcnJlZC1nb29zZS0xNy5jbGVyay5hY2NvdW50cy5kZXYk"
NEXT_PUBLIC_APP_URL: "http://localhost:3000"
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build