[Feature]: Add GitHub Actions CI Pipeline for Django Tests, Python Linting (flake8), and C++ Build Verification
@palaklohia y travaille déjà.
Depuis le 13/8/2026.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 68/100
Piste de recherche
Start with the proposed .github/workflows/ci.yml and inspect requirements.txt, .env.example, manage.py, and game/engine/main.cpp. Run python manage.py test game locally, then verify the workflow installs dependencies, runs migrations and linting, and compiles the C++ engine. Done means all three independent CI jobs pass for pushes and pull requests targeting main.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Checkora runs a Django backend with a C++ engine and Python fallback — a multi-language, multi-layer architecture. Currently, there is no CI/CD pipeline in .github/workflows/. All pull requests are merged based purely on human review, with no automated signal for whether the Django test suite passes, the Python code is lint-clean, or the C++ engine compiles successfully.
Problem
- No
.github/workflows/ci.ymlexists (the.github/directory only contains issue/PR templates). - Contributors merging PRs have no automated confirmation that
python manage.py test gamestill passes. - The C++ engine (
game/engine/main.cpp) is not compiled in any automated step — a contributor could break the engine source with a syntactically invalid change and it would only be discovered at runtime. requirements.txtis present but never validated in a clean environment on PRs.
Impact
- A bad merge can silently break the 28-test suite covering all API endpoints.
- The C++ engine could be broken in version control without any automated detection.
- New contributors have no confidence their changes are correct before reviewer attention.
Proposed Solution
I will implement a GitHub Actions workflow:
# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
django-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Copy env file
run: cp .env.example .env
- name: Run migrations
run: python manage.py migrate
- name: Run tests
run: python manage.py test game
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install flake8
run: pip install flake8
- name: Lint Python
run: flake8 . --max-line-length=120 --exclude=venv,migrations
cpp-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install g++
run: sudo apt-get install -y g++
- name: Compile C++ engine
run: g++ -O2 game/engine/main.cpp -o game/engine/main
This gives the project three independent CI gates: Django test suite, Python lint, and C++ engine compilation — all running on every PR.
Please assign this to me. I'm ready to implement and test this immediately.
Labels: enhancement, ci/cd, infrastructure, help wanted, GSSoC 2026
- Langage dominant
- Python
- Étoiles
- 140
- Forks
- 513
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Checkora/Checkora
-
[Bug]: AI Opening Book reply fails silently due to KeyError on move_history coordinates in ai_moveOuvertebug GSSoC
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
-
enhancement GSSoC
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
[UI/UX] Missing hover effect on Resume and Pause buttonsPeut-être à nouveau libre @ishitadutta2 l’a pris il y a 75 jours, et aucune pull request n’est ouverte. Ouvertebug enhancement frontend good first issue GSSoC
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
fix(engine): cap move_history at 300 entries to prevent session cookie overflowPeut-être à nouveau libre @ishitadutta2 l’a pris il y a 75 jours, et aucune pull request n’est ouverte. Ouvertebug GSSoC
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
bug GSSoC
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Toutes les issues de Checkora/Checkora
Issues similaires
-
Contributing instructionsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
dbt-labs/spark-utils#51 ·
-
bug pydanty:is-working
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
pydantic/pydantic-ai#13444 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
good first issue help wanted
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
-
changelog investigate
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
ramnes/notion-sdk-py#502 ·