Auto: Échec de Git lors de la libération (mais je ne sais pas sur quoi il a échoué)

Créé le 21 oct. 2019  ·  12Commentaires  ·  Source: intuit/auto

Décrivez le bogue

Après plusieurs faux départs, j'ai finalement obtenu à nouveau la libération de relay-compiler-language-typescript . Pousser de Travis était un défi à comprendre.

Voici la version réussie : https://travis-ci.org/relay-tools/relay-compiler-language-typescript/builds/600830491

Mon collègue a fusionné un PR après cela et cela a entraîné un nouvel échec

ℹ  info      Getting commits from v9.0.0 to HEAD

fatal: ambiguous argument 'v9.0.0..HEAD': unknown revision or path not in the working tree.

Use '--' to separate paths from revisions, like this:

'git <command> [<revision>...] -- [<file>...]'

En parcourant les résultats de la construction, il n'est pas immédiatement clair que _quoi_ a échoué.

La seule chose qu'il n'a pas fait était console.log la version à la fin (parce qu'elle a échoué)... mais les journaux me portent à croire qu'il aurait dû échouer bien avant de faire tout le reste.

Je suis un peu perplexe, ha. Des pensées?

documentation question

Tous les 12 commentaires

Je viens de vivre ça aujourd'hui. ambiguous argument 'v9.0.0..HEAD' devrait être corrigé par git fetch --tags afin que env ait toutes les balises dont il a besoin pour trouver les différences

Merci pour l'avertissement @strass. J'ai l'impression que nous avons ici l'occasion de vérifier les choses que nous attendons et d'essayer de les saisir si elles n'existent pas.

mais les journaux me portent à croire que cela aurait dû échouer bien avant de faire tout le reste.

Je ne suis pas sûr que nous regardions les bons journaux. Ils finissent bien avant que quoi que ce soit arrive

J'ai compris ce qui s'est passé :

  1. https://github.com/relay-tools/relay-compiler-language-typescript/pull/147 fusionné à 9h32 (Build 1)
  2. https://github.com/relay-tools/relay-compiler-language-typescript/pull/139 fusionné à 9h33 (Build 2)
  3. Le build 1 exécute git checkout master && git pull origin && git branch --set-upstream-to origin/master master qui inclut le commit dans le build 2
  4. Build 1 fait une version majeure pour les changements de build 2 même si Build 1 était un "saut publié"
  5. Le build 2 essaie de publier ses modifications, mais le build 1 l'a déjà fait. Donc le CI échoue

On dirait que le problème est que travis n'est pas sur master lors de l'exécution de la compilation pour le commit de fusion, vous devez donc faire un peu de git fu. Voici comment je gère cela pour les actions (notez l'absence de git checkout master && git pull origin )

https://github.com/hipstersmoothie/create-check/blob/master/.github/workflows/push.yml#L41

@zephraph Pourriez-vous ajouter une page à la documentation expliquant une bonne configuration de travis ?

Je viens de vivre ça aujourd'hui. ambiguous argument 'v9.0.0..HEAD' devrait être corrigé par git fetch --tags afin que env ait toutes les balises dont il a besoin pour trouver les différences

J'ai abordé ce problème dans https://github.com/intuit/auto/pull/626. N'hésitez pas à revoir et à améliorer la messagerie @strass

@hipstersmoothie Je me demande aussi quelle quantité de cette auto devrait essayer de faire pour l'utilisateur ? Comme, dans ce cas, essayer de récupérer les balises automatiquement.

Envoyé avec GitHawk

J'ouvre pour faire auto pour faire un peu plus de ce travail, je ne sais tout simplement pas comment cela se déroulerait dans la pratique. Comme vous, l'ajout de cette fonctionnalité créerait une version "vide" puisque tout a déjà été publié. Dans mon esprit, la meilleure expérience est l'erreur (peut-être avec un meilleur message) lorsque le code a été publié à partir d'une autre branche.

Je ne sais pas non plus comment tout se comporterait si vous exécutiez shipit sur une branche qui se trouve derrière la dernière balise

Je vais fermer ceci maintenant que le #626 a été expédié.

Ajoutera quelques docs sur travis config.

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