-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TECH] Utiliser pnpm #7155
[TECH] Utiliser pnpm #7155
Conversation
Une fois les applications déployées, elles seront accessibles via les liens suivants : Les variables d'environnement seront accessibles via les liens suivants : |
d75ea03
to
f941a82
Compare
5db3716
to
b093f59
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👏
J'ai testé un peu la CLI de mon côté.
Les scripts peuvent être lancé sans On peut utiliser les scripts des sous-dossiers comme J'ai pas compris comment lancer un script dans un package uniquement, ni dans un ensemble de packages (ex : api, mon-pix). Le A la racine, Le param Les doubles dash Je crois pas que les Sinon, j'ai pas trop compris ajustements de versions avec des tags GitHub, mais ça se raccourci en supprimant Dans nos dépendances on a aussi Merci @Tarektouati pour le coup de main sur cette revue. |
Merci pour l'info, je vais simplifier nos scripts.
Le
Effectivement, on peut simplifier.
Effectivement, on peut simplifier là aussi.
|
@@ -33,7 +33,7 @@ executors: | |||
type: string | |||
docker: | |||
- image: cimg/node:<<parameters.node-version>> | |||
resource_class: small | |||
resource_class: medium+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Point d'attention : ici, j'ai du augmenter la capacité du container de la CI, car on avait un OOM lors de l'installation des dépendances.
|
||
e2e_test_app: | ||
e2e_test: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Point d'attention : j'ai mergé les deux jobs de tests e2e qui faisaient quasiment la même chose. A voir si on veut les garder séparer auquel cas il faut retravailler ce point.
|
||
- run: | ||
name: Install Cypress |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour une raison que je n'ai pas réussi à déterminer, j'ai été obligé d'ajouter une étape d'installation de Cypress dans le job.
api/package.json
Outdated
"test:api": "status=0; pnpm test:api:unit || status=1 ; for dir in $(find tests/* -maxdepth 0 -type d -not -path tests/unit -not -path tests/shared -not -path tests/certification) ; do pnpm test:api:path $dir || status=1 ; done ; exit $status", | ||
"test:api:path": "NODE_ENV=test mocha --exit --recursive --reporter=${MOCHA_REPORTER:-dot}", | ||
"test:api:scripts": "npm run test:api:path -- tests/integration/scripts", | ||
"test:api:unit": "TEST_DATABASE_URL=postgres://should.not.reach.db.in.unit.tests REDIS_URL= npm run test:api:path -- tests/unit tests/**/unit", | ||
"test:api:integration": "npm run test:api:path -- tests/integration tests/**/integration", | ||
"test:api:acceptance": "npm run test:api:path -- tests/acceptance tests/**/acceptance", | ||
"test:api:scripts": "pnpm test:api:path tests/integration/scripts", | ||
"test:api:unit": "TEST_DATABASE_URL=postgres://should.not.reach.db.in.unit.tests REDIS_URL= pnpm test:api:path tests/unit tests/**/unit", | ||
"test:api:integration": "pnpm test:api:path tests/integration tests/**/integration", | ||
"test:api:acceptance": "pnpm test:api:path tests/acceptance tests/**/acceptance", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense que c'est en retard avec dev cette partie a bien bougé ces derniers temps
a4e2463
to
003b9e7
Compare
ece91d5
to
63fdf38
Compare
63fdf38
to
dcd56e7
Compare
dcd56e7
to
20615ab
Compare
8a86895
to
1bebf4c
Compare
Co-authored-by: Guillaume Lagorce <[email protected]>
809e145
to
2e80392
Compare
2e80392
to
f6c8fec
Compare
This reverts commit c3f412b.
f6c8fec
to
96c8884
Compare
96c8884
to
dd35308
Compare
Je n'ai plus l'énergie / envie d'avance ce sujet. |
🦄 Problème
Notre mono-repo actuel contient des scripts divers et varié pour tenter de maintenir les dépendances de nos différentes applications a jour.
La plupart de nos applications partagent des dépendances similaires qui sont téléchargé et dupliqué.
🤖 Proposition
Utiliser PNPM https://pnpm.io/
Cela a nécessiter la modification du buildpack nodejs: Scalingo/nodejs-buildpack@master...1024pix:nodejs-buildpack:master
Cela pose des questions de maintenance de ce buildpack.
🌈 Remarques
Ceci est la première étape pour tenter de moderniser les outils du mono-repos.
Une prochaine étape pourrait être d'utiliser circletron qui utilise l'API dynamique de circleci et pnpm pour ne tester que le code qui a réellement changer. https://github.com/circletron/circletron
Cela aurait pour avantager de réduire le temps de build pour un certain nombre de PRs.
Une étape suivante pourrait également de rapatrier l'ensemble des applications qui sont nécessaire pour faire fonctionner Pix qui sont réparties dans différents repos ce qui rend les évolutions et la maintenance plus compliqué.
💯 Pour tester