pix
pix copied to clipboard
[TECH] Améliorations CircleCI
:unicorn: Problème
Dans CircleCI, nous exécutons en parallèle l'install, le lint, et les tests de mon_pix
. On ne tire bénéfice de cette parallélisation uniquement dans nos tests car cela réduit la durée d'exécution.
:robot: Solution
Exécuter l'install et le lint à part des tests qui nécessitent cette parallélisation. J'ai fait de même sur les autres packages pour paralléliser lint
et test
.
:rainbow: Remarques
J'ai créé des executors
pour éviter la duplication dans la définition des jobs. Un executor front
permet d'utiliser la même config sur orga, certif et admin. Je n'ai pas réussi à mettre en commun celui de mon_pix
qui utilise une resource_class: medium
.
Je pense qu'on peut pousser plus loin l'utilisation des workspaces. Ici, je relie tout à ~/pix
car je n'ai pas réussi à n'archiver que ~/pix/mon-pix
. Je suis preneur d'avis pour éviter de stocker une archive plus conséquente.
IMO on gagne en clareté dans l'UI en séparant install, lint et test. J'apporte également ces changements aux autres applis.
Question subsidiaire : est-ce souhaité que le lint des applis nécessite le npm ci
root ? Si on ne le fait il manque le package eslint-plugin-eslint-comments
.
Par ailleurs, je propose de renommer build
and lint
car on ne fait jamais de build
dans Circle CI.
Je pense qu'on peut optimiser un peu la partie e2e
(qui refait des install déjà fait ailleurs) et tests d'algo.
:100: Pour tester
Comparer Circle CI dans cette PR et sur une autre PR.
I'm deploying this PR to these urls:
- App (.fr): https://app-pr4733.review.pix.fr
- App (.org): https://app-pr4733.review.pix.org
- Orga: https://orga-pr4733.review.pix.fr
- Certif: https://certif-pr4733.review.pix.fr
- Admin: https://admin-pr4733.review.pix.fr
- API: https://api-pr4733.review.pix.fr/api/
Please check it out!
Clos par manque de review et plus de 2 mois de vie