Closed nabiu256 closed 11 months ago
@perepicornell He deixat preparada aquesta PR. He eliminat tox
i ho he substituit per Actions de GitHub. Això fa que tinguem una dependència menys fent el mateix que ja feiem abans, i ens permetria tenir més flexibilitat en el futur si volem ampliar la CI a base de fer scripts amb tot el linting, formatting i testeig que necessitem.
T'etiqueto i demano review per saber si et semblaria bé fer aquest canvi, o preferiries mantenir tox
i, si és així, el per què.
Objectiu
Substituïr
tox
com a eina de CI per GitHub Actions i/o el pre-commit framework.Motivació
Ara mateix
tox
és l'eina per la qual comprovem el correcte linting, formatting i tests del projecte.tox
és l'eina per excel·lència a l'hora d'implementar CI en llibreries de Python, sent molt útil la forma en la que fàcilment pot crear molts entorns virtuals amb diferents versions de Python i altres llibreries per tal de determinar correctament compatibilitat entre dependències.Tanmateix, discuteixo que en el nostre cas tingui gaire sentit, per les següents raons:
tox
, el principal avantatge que té (i la raó per la qual es fa servir en CI) és per la facilitat de crear varis entorns virtuals de dependències per així comprovar compatibilitat entre versions. Això és una eina indispensable per a projectes que siguin llibreries, però aquest és el nostre cas. Nosaltres només necessitem comprovar i testejar per una sola versió de Python, que és en la que tenim el projecte. Així doncs, crec que no té excessiu sentit fer servirtox
.tox
implica tenir encara en un altre lloc les variables d'entorn (atox.ini
), ja que necessita que se li defineixin per separat (com a mínim com està ara). Això ho fa més difícil i pesat de mantenir.A tot això, tenint en compte que amb Docker podem fer el mateix, aquest canvi implicaria l'avantatge d'eliminar una dependència del nostre projecte alhora que millorem la CI.