Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
28 changes: 22 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
name: Dummy-CI
name: CI

on: [push]
on:
push:
branches: [main]
pull_request:

jobs:
build:
check-lockfile:
name: Check backend lockfile is up to date
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Pass
run: echo Success!
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Ensure requirements.txt is updated when requirements.in changes
run: |
BASE=${{ github.event.pull_request.base.sha }}
HEAD=${{ github.event.pull_request.head.sha }}
CHANGED=$(git diff --name-only "$BASE" "$HEAD")
if echo "$CHANGED" | grep -q 'backend/requirements\.in'; then
if ! echo "$CHANGED" | grep -q 'backend/requirements\.txt'; then
echo "::error::backend/requirements.in was modified but backend/requirements.txt was not. Please run pip-compile to regenerate the lockfile."
exit 1
fi
fi
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@ This project consists of three main components:
## Quick Start

### Prerequisites
- Python 3.8+
- Node.js 16+
- CPython source repository (for benchmarking)
- Docker Engine 20.10+ and Docker Compose 2.0+
- CPython source repository (for benchmarking with the worker)

### Setup & Installation
```bash
Expand Down Expand Up @@ -58,6 +57,17 @@ make build # Build frontend for production
make clean # Clean up generated files and caches
```

### Updating Backend Dependencies
```bash
# Edit backend/requirements.in, then regenerate the lockfile:
docker run --rm -v "$(pwd)/backend:/app" -w /app python:3.13-slim-bookworm \
sh -c "pip install --quiet pip-tools && pip-compile --strip-extras \
--generate-hashes --output-file requirements.txt requirements.in"

# Rebuild the backend container:
docker compose -f docker-compose.dev.yml up --build -d backend
```

## Worker Setup

### Worker Usage
Expand Down
2 changes: 1 addition & 1 deletion backend/Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.11-slim
FROM python:3.13-slim-bookworm

WORKDIR /app

Expand Down
14 changes: 14 additions & 0 deletions backend/requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
fastapi>=0.115.0
uvicorn[standard]>=0.30.0
pydantic
pydantic-settings
sqlalchemy
aiosqlite
asyncpg
python-multipart
python-dateutil
pytest
pytest-asyncio
httpx
authlib>=1.2.0
sqlparse
Loading
Loading