Auto: Question - lerna ERR ! ENOGIT Détaché git HEAD dans Gitlab CI

Créé le 19 avr. 2020  ·  28Commentaires  ·  Source: intuit/auto

Décrivez le bogue

Lors de l'exécution de shipit, les erreurs de lerna sur la dernière étape

Cela pourrait être plus lié à lerna, comme j'ai vu les erreurs signalées à quelques reprises, mais je me demandais si vous aviez des suggestions puisque l'appel de lerna est en mode automatique?

EDIT : Tester localement renvoie différentes erreurs. Je vais approfondir cela et faire un suivi !

bug

Tous les 28 commentaires

Semble fonctionner correctement lorsqu'il est exécuté localement, mais pas dans l'environnement ci. Hmm

Tout d'abord, IDK à quel point auto peut fonctionner avec GitLab puisque nous utilisons beaucoup l'API GitHub. Des choses comme la recherche des pull request, la création de releases et toute une série d'autres choses ne fonctionneront pas comme prévu.


En ce qui concerne le problème de la tête détachée : la plupart des environnements CI ne récupèrent pas votre code de la même manière. Pour que auto fonctionne, il faut une vue relativement complète du dépôt git. De nombreux environnements CI essaient d'être intelligents et de ne pas effectuer une vérification complète. Certains feront un clone superficiel (actions github). Certains pré-fusionneront votre branche et extrairont une branche tmp (jenkins)

En regardant vos journaux, il semble que GitLab effectue une vérification relativement complète, mais avec une tête détachée (vous n'êtes pas sur une branche). Essayez de vérifier master .

# See what branches are available
git branch -a

# Checkout master
git checkout master

Cela semblait corriger cette erreur, mais maintenant il n'est pas publié à cause de ceci :cry:

J'ai fait une recherche rapide, mais je n'arrive pas à comprendre la cause de ce message d'erreur.

Cette erreur vient de auto

https://github.com/intuit/auto/blob/adf4e85590a75a9fd97945b4803f3535b8c45383/packages/core/src/auto.ts#L405

Il pourrait cependant avaler une autre erreur. Je peux ajouter un journal à imprimer dans cette fonction si vous en avez besoin

:facepalm: je ne sais pas comment j'ai raté ça. Serait-il possible d'afficher cette erreur si un indicateur détaillé était défini ? J'ai réalisé que je ne pouvais pas le faire localement car je ne peux pas créer l'erreur localement lol

Est-il possible que le drapeau -silent soit --silent ? ou --quiet ? Je ne sais pas à quoi servent les drapeaux false et -silent.

https://gitlab.com/jdalrymple/gitbeaker/-/jobs/518962749#L1391

Oh mec J'ai dû supprimer un -

https://github.com/intuit/auto/pull/1160

Une fois cela publié, cela devrait être bon https://github.com/intuit/auto/pull/1161/files

Un autre problème résolu butttt hehe D' autres suggestions ?

Vous semblez toujours être sur un vieux canari "auto" version: v9.28.2-canary.1160.15021.0 et non sur la dernière version publiée

Oups! vient de régler ça. Toujours pas de chance :( Maintenant avec l'erreur : La commande a échoué : git merge-base --is-ancestor :cry:

Hmm en lisant à nouveau les journaux, est-il possible qu'il utilise la mauvaise URL à distance ?

ℹ info Using remote: https://gitlab-ci-token:[MASKED]@gitlab.com/jdalrymple/gitbeaker.git

Cela pourrait effectivement être le problème. Le dépôt est hébergé sur github, mais j'utilise le gitlab ci pour le pipeline. Il semble qu'il déduise la télécommande vers laquelle pousser, mais qu'il ne déduise pas correctement. Je ne sais pas comment le changer si hmm

J'ai donc contourné cette erreur en définissant explicitement l'URL distante. Un peu hacky, mais ça marcherait pour le moment. Essayer de corriger une erreur npm étrange maintenant . Si proche :/

Ça a marché!!! J'ai dû définir explicitement certaines choses, mais oui ! Merci pour l'aide!!

Question rapide @hipstersmoothie , pour éviter d'ouvrir un nouveau numéro. Gère-t-il automatiquement la création de nouvelles versions de github ? Il a bien créé la balise et les notes de version, mais pas de version github :(

Il est censé créer également la version github. Je vais regarder ce que tu as posté. Nous pouvons envoyer un message sur Twitter si vous souhaitez également des réponses plus rapides

Construire sur GitLab est probablement la source de la plupart de ces problèmes. Comme vous l'avez constaté avec les services CI à distance, ils ont tendance à faire un tas d'hypothèses différentes.

Cela dit, nous pourrions peut-être améliorer la logique à distance et détecter quand nous sommes sur gitlab CI.

Voici où vous modifieriez le code pour comprendre la télécommande https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L556

Il est censé créer également la version github. Je vais regarder ce que tu as posté. Nous pouvons envoyer un message sur Twitter si vous souhaitez également des réponses plus rapides

Je vais faire une autre version dans environ 10 minutes pour que vous puissiez voir ce qui se passe, mais la dernière version qui a été faite, j'ai dû ajouter manuellement les notes de version de github.

Je pense que vous devez augmenter le output_limit https://docs.gitlab.com/runner/configuration/advanced-configuration.html

Vous cherchez à modifier cette limite maintenant. Il semble qu'il y ait des erreurs en essayant d'obtenir le journal git AH, il utilise une balise avec le préfixe « v », mais ma configuration lerna exclut le préfixe ?

ℹ  info      Using 17.0.3 as previous release.
ℹ  info      Current "Latest Release" on Github: v17.0.3
ℹ  info      Getting commits from v17.0.3 to HEAD

ne devrait-il pas rechercher des commits de la balise à head, donc dans ce cas 17.0.3 à HEAD ?

C'est parce que l'auto utilise par défaut les préfixes v . Je viens d'ouvrir un PR qui fera respecter automatiquement la config de lerna

https://github.com/intuit/auto/pull/1170

Vous pouvez également simplement définir noVersionPrefix dans votre configuration automatique. mais je pense qu'automatiser c'est mieux

Vous pouvez également simplement définir noVersionPrefix dans votre configuration automatique. mais je pense qu'automatiser c'est mieux

Serait-ce la meilleure façon de définir cette configuration? Probablement hein ?

Le fait est que vous devrez également définir la configuration de lerna

https://github.com/intuit/auto/pull/1170

Je l'ai fait automatique donc vous devriez juste avoir besoin de mettre à niveau auto

Vous devrez peut-être modifier la dernière balise/version pour ne pas avoir le préfixe v

Je vais vérifier ça ! Merci!

Cette page vous a été utile?
0 / 5 - 0 notes