Contexte
La CI est le filet de sécurité du projet. Elle doit tourner sur chaque PR vers develop.
Cette issue n'a aucune dépendance — elle peut être faite immédiatement.
Fichiers à créer
.github/workflows/ci.yml — quality check + tests sur Python 3.9/3.10/3.11/3.12
.github/workflows/publish.yml — publication PyPI sur tag v*.*.*
Comportement attendu
Sur chaque PR vers develop :
- Job
quality : black --check, ruff check, mypy src/
- Job
test : pytest tests/unit/ sur 4 versions Python + rapport Codecov
Sur chaque tag v*.*.* sur main :
- Build du package
- Publication automatique sur PyPI
Critères d'acceptation
Note
Pushez sur develop en priorité — la CI doit être active avant les premières PRs de code.
Contexte
La CI est le filet de sécurité du projet. Elle doit tourner sur chaque PR vers
develop.Fichiers à créer
.github/workflows/ci.yml— quality check + tests sur Python 3.9/3.10/3.11/3.12.github/workflows/publish.yml— publication PyPI sur tagv*.*.*Comportement attendu
Sur chaque PR vers
develop:quality:black --check,ruff check,mypy src/test:pytest tests/unit/sur 4 versions Python + rapport CodecovSur chaque tag
v*.*.*surmain:Critères d'acceptation
black,ruff,mypydans un jobqualityséparépublish.ymldéclenché sur les tagsv*Note
Pushez sur
developen priorité — la CI doit être active avant les premières PRs de code.