Problem Statement:
The repo has real, documented test infrastructure: ./testing/test_python.sh for backend tests, npm run test (Vitest) for frontend unit tests, and npm run e2e (Playwright) for end-to-end tests — all listed explicitly under "Running Tests" in the README. However, there's no CI badge in the README and no confirmed .github/workflows/*.yml running these automatically on PRs, despite a .github/ folder existing in the repo tree.
Why this matters:
With 20 forks, 29 open issues, and 9 open PRs already, this project is actively receiving contributions from multiple people in parallel. Without CI gating, the three test suites that already exist provide no actual protection against regressions — they only help if a contributor remembers to run all three manually before every PR, which doesn't scale.
Proposed Solution:
Add .github/workflows/ci.yml with three parallel jobs:
backend-tests: pip install -r backend/requirements.txt -r backend/requirements-dev.txt && ./testing/test_python.sh
frontend-unit-tests: cd frontend && npm install && npm run test
frontend-e2e: cd frontend && npm install && npx playwright install --with-deps && npm run e2e
Trigger on push and pull_request to main.
Add a CI status badge to the README next to the existing License/Python/Frontend/Active-Development badges.
Impact: Converts existing test investment into an actual quality gate — directly reduces the maintainer's manual review burden as GSSoC PR volume grows.
Problem Statement:
The repo has real, documented test infrastructure: ./testing/test_python.sh for backend tests, npm run test (Vitest) for frontend unit tests, and npm run e2e (Playwright) for end-to-end tests — all listed explicitly under "Running Tests" in the README. However, there's no CI badge in the README and no confirmed .github/workflows/*.yml running these automatically on PRs, despite a .github/ folder existing in the repo tree.
Why this matters:
With 20 forks, 29 open issues, and 9 open PRs already, this project is actively receiving contributions from multiple people in parallel. Without CI gating, the three test suites that already exist provide no actual protection against regressions — they only help if a contributor remembers to run all three manually before every PR, which doesn't scale.
Proposed Solution:
Add .github/workflows/ci.yml with three parallel jobs:
backend-tests: pip install -r backend/requirements.txt -r backend/requirements-dev.txt && ./testing/test_python.sh
frontend-unit-tests: cd frontend && npm install && npm run test
frontend-e2e: cd frontend && npm install && npx playwright install --with-deps && npm run e2e
Trigger on push and pull_request to main.
Add a CI status badge to the README next to the existing License/Python/Frontend/Active-Development badges.
Impact: Converts existing test investment into an actual quality gate — directly reduces the maintainer's manual review burden as GSSoC PR volume grows.