Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: CI

on:
push:
pull_request:
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
backend:
name: Backend tests
runs-on: ubuntu-latest
timeout-minutes: 15

steps:
- name: Check out repository
uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"
cache: pip
cache-dependency-path: pyproject.toml

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"

- name: Check installed dependencies
run: python -m pip check

- name: Run tests
run: python -m pytest

frontend:
name: Frontend checks
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: frontend

steps:
- name: Check out repository
uses: actions/checkout@v6

- name: Set up Node.js
uses: actions/setup-node@v7
with:
node-version: "24"
cache: npm
cache-dependency-path: frontend/package-lock.json

- name: Install dependencies
run: npm ci

- name: Test
run: npm test

- name: Build
run: npm run build
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,28 @@ Don't hesitate to reach out for any questions regarding this!

## Tests

Frontend tests cover shared status/result formatting, API list handling, authentication state,
protected-route access, and toolkit and benchmark submission workflows:

```bash
cd frontend
npm ci
npm test
```

Backend tests can be run with:

```bash
docker run --rm -v "$PWD:/core" -w /core python:3.11-slim \
sh -c "pip install -q -e '.[dev]' && pytest"
```

## Continuous integration

The GitHub Actions workflow in `.github/workflows/ci.yml` runs for pushes to every branch, pull
requests, and manual dispatches. It runs the core Python tests and tests and builds the shared
frontend.

## Design

Full architecture and rationale in [`docs/unified-platform.md`](docs/unified-platform.md).
Loading