Skip to content

Update UI/UX. Refine modes #1

Update UI/UX. Refine modes

Update UI/UX. Refine modes #1

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
lint-and-typecheck:
name: Lint & typecheck (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
- name: Install dependencies
run: uv sync --dev
- name: Lint (ruff check)
run: uv run ruff check src/ tests/
- name: Format check (ruff format)
run: uv run ruff format --check src/ tests/
- name: Type check (mypy strict)
run: uv run mypy src/wavedriver/ --strict
test:
name: Test (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
- name: Install dependencies
run: uv sync --dev
- name: Run tests with coverage
run: uv run --with pytest --with pytest-cov pytest tests/ --cov=wavedriver --cov-report=term-missing --cov-fail-under=60
frontend:
name: Frontend build & lint
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/wavedriver/web
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: src/wavedriver/web/package-lock.json
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Build
run: npm run build