Que faire si votre CL a cassé la construction d'intégration Node.js
Node.js utilise V8 stable ou bêta. Pour une intégration supplémentaire, l'équipe V8 construit Node avec la branche principale de V8, c'est-à-dire avec une version de V8 actuelle. Nous fournissons un bot d'intégration pour Linux, tandis que Windows et Mac sont en cours de développement.
Si le bot node_ci_linux64_rel
échoue sur la file d'attente des commits V8, il y a soit un problème légitime avec votre CL (corrigez-le), soit Node doit être modifié. Si les tests de Node ont échoué, recherchez « Not OK » dans les fichiers journaux. Ce document décrit comment reproduire le problème localement et comment apporter des modifications au fork Node de V8 si votre CL V8 fait échouer la construction.
Source
Suivez les instructions dans le dépôt node-ci pour vérifier la source.
Tester les modifications sur V8
V8 est configuré comme une dépendance DEPS de node-ci. Vous souhaiterez peut-être appliquer des modifications à V8 pour tester ou reproduire des échecs. Pour ce faire, ajoutez votre répertoire principal V8 comme télécommande :
cd v8
git remote add v8 <your-v8-dir>/.git
git fetch v8
git checkout v8/<your-branch>
cd ..
N'oubliez pas d'exécuter les hooks gclient avant de compiler.
gclient runhooks
JOBS=`nproc` make test
Apportez des modifications à Node.js
Node.js est également configuré comme une dépendance DEPS
de node-ci. Vous pouvez vouloir appliquer des modifications à Node.js pour corriger les ruptures que les modifications de V8 peuvent causer. V8 teste contre un fork de Node.js. Vous aurez besoin d'un compte GitHub pour effectuer des modifications sur ce fork.
Obtenir les sources de Node
Forkez le dépôt Node.js de V8 sur GitHub (cliquez sur le bouton fork) à moins que vous ne l'ayez déjà fait.
Ajoutez votre fork et celui de V8 comme télécommandes au dépôt existant :
cd node
git remote add v8 http://github.com/v8/node
git remote add <your-user-name> [email protected]:<your-user-name>/node.git
git fetch v8
git checkout v8/node-ci-<sync-date>
export BRANCH_NAME=`date +"%Y-%m-%d"`_fix_name
git checkout -b $BRANCH_NAME
Remarque
<sync-date>
est la date à laquelle nous avons synchronisé avec Node.js en amont. Choisissez la date la plus récente.
Apportez vos modifications au dépôt Node.js et validez-les. Ensuite, poussez les modifications sur GitHub :
git push <your-user-name> $BRANCH_NAME
Et créez une pull request contre la branche node-ci-<sync-date>
.
Une fois que la pull request a été fusionnée dans le fork Node.js de V8, vous devez mettre à jour le fichier DEPS
de node-ci, et créer un CL.
git checkout -b update-deps
gclient setdep --var=node_revision=<merged-commit-hash>
git add DEPS
git commit -m 'Mettre à jour Node'
git cl upload