Skip to content
Closed
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
71 changes: 71 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: CI

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

jobs:
backend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
cache: pip
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pip cache configuration may not work correctly because the working directory is set to backend, but the cache: pip option in setup-python looks for requirements.txt in the repository root by default. Consider adding cache-dependency-path: backend/requirements.txt to ensure pip caching works properly.

Suggested change
cache: pip
cache: pip
cache-dependency-path: backend/requirements.txt

Copilot uses AI. Check for mistakes.

- name: Install dependencies
run: pip install -r requirements.txt

- name: Run Django checks
run: python manage.py check
env:
DJANGO_DEBUG: "True"

- name: Run tests
run: python manage.py test --verbosity=2
env:
DJANGO_DEBUG: "True"

Comment on lines +33 to +37
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The backend test step runs python manage.py test but there are no test files in the backend directory. Django's test runner will report "Ran 0 tests" and pass, which could give a false sense of test coverage. Consider either removing this step until tests are added, or adding at least a basic test to verify the workflow is functioning correctly.

Suggested change
- name: Run tests
run: python manage.py test --verbosity=2
env:
DJANGO_DEBUG: "True"

Copilot uses AI. Check for mistakes.
frontend:
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: Lint
run: npx eslint src/

Comment on lines +57 to +59
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The lint step runs npx eslint src/ but there is no ESLint configuration file in the frontend directory. ESLint 9.x requires an explicit configuration file (eslint.config.js or eslint.config.mjs). Without a configuration file, this step will fail with "No files matching the pattern were found" or a similar error. Either add an ESLint configuration file or remove this step from the CI workflow.

Suggested change
- name: Lint
run: npx eslint src/

Copilot uses AI. Check for mistakes.
- name: Build
run: npm run build

docker:
runs-on: ubuntu-latest
needs: [backend, frontend]

steps:
- uses: actions/checkout@v4

- name: Build Docker images
run: docker compose build
Loading