Auto: Les versions sont générées même si l'étiquette sans version est présente

Créé le 14 janv. 2019  ·  11Commentaires  ·  Source: intuit/auto

Décrivez le bogue

Dans l'un de nos dépôts, nous constatons des déploiements cohérents alors que nous nous attendons à ce qu'aucun déploiement ne se produise. Ce taux de désabonnement se produit spécifiquement lorsque

Voici un exemple de PR où le label no-release est présent ( Version: Trivial dans notre cas) mais la release est toujours en cours. Voici les résultats CI de cette fusion donnée.

@hipstersmoothie Je mettrai à jour avec une exécution en mode verbeux quand j'en aurai l'occasion. Si je peux le poursuivre jusqu'à quelque chose de particulier, j'ouvrirai un PR.

Reproduire

Je n'ai pas tout à fait identifié quel est le point commun ici. C'est le seul endroit de notre organisation où @renovatebot fusionne automatiquement les mises à jour du code afin qu'il puisse être lié à cela.

Comportement prévisible

Aucune libération ne doit être déclenchée.

bug

Commentaire le plus utile

@zephraph cela devrait être corrigé dans v2.5.6 . Faites-moi savoir si vous avez encore des problèmes!

Tous les 11 commentaires

J'en avais une autre instance sur un autre dépôt. https://github.com/artsy/palette/compare/v2.25.10...v2.25.11. Cela a également été fusionné automatiquement, mais par péril au lieu de @renovatebot. C'est peut-être la façon dont les bots fusionnent les relations publiques ?

il pourrait être. les étiquettes de libération de saut nécessitent que la tête ait l'étiquette associée.

Il devrait chercher probablement le dernier PR plutôt que le dernier commit.

Hum... ouais. Donc, quand je construisais ceci, j'ai regardé entre le hash de tête et le hash de la dernière version et je l'ai utilisé pour comprendre quels étaient les PR.

https://github.com/artsy/reaction/pull/1407/files#diff -ff397bdd24eed50e2a2cade2792a9d80R100

@zephraph Juste pour être clair, est-ce la situation qui se produit ?

gitlog :

  1. Certains commettent un bot ou une personne créé après votre fusion
  2. le commit qui a le PR avec le label skip-release

résultat:

auto ne skip-release car commit 2 n'est pas en haut du gitloh

Il n'y a pas eu de commit qui a été fait après la fusion. Il semble que ce soit la fusion elle-même. Lorsqu'un bot fusionne (je pense que c'est ça, mais cela pourrait être une coïncidence) un PR alors une version se produit même lorsqu'un label skipReleaseLabels est présent. Je peux trouver d'autres exemples si besoin.

Voici le dernier exemple (similaire à celui ci-dessus).

  1. https://github.com/artsy/renovate-config/pull/164 a été créé par renovate
  2. Rénover affecté Version: Trivial au PR (qui est dans skipReleaseLabels )
  3. Renovate fusionne le PR automatiquement
  4. Une nouvelle version est coupée malgré la présence d'un label skipReleaseLabels

Cette fusion PR n'a pas de numéro PR dans le sujet de validation

screen shot 2019-01-17 at 2 53 01 pm

Tous ceux qui fonctionnent ont un numéro PR

screen shot 2019-01-17 at 2 54 47 pm

auto s'appuie sur ce numéro dans le message de validation pour obtenir le numéro PR :

fusionner:
https://github.com/intuit/auto-release/blob/5cbccf46a9b49b12210325e7332d9f5c26b44ed1/src/log-parse.ts#L73

écraser:
https://github.com/intuit/auto-release/blob/5cbccf46a9b49b12210325e7332d9f5c26b44ed1/src/log-parse.ts#L94

Donc, quelque chose semble se passer lors de la fusion de ces PR. Est-ce un rebase qui se produit ?

nous avons besoin d'une fonction qui renvoie le pr associé à un SHA mais j'ai du mal à trouver une méthode octokit appropriée

hmm vient d'essayer de faire correspondre le commit dans le maître au commit dans le PR, mais ils semblent avoir des SHA différents.

screen shot 2019-01-18 at 12 28 05 am

screen shot 2019-01-18 at 12 28 48 am

C'est hyper décevant. Maintenant, je n'ai aucune idée de comment nous pouvons faire correspondre ces engagements à leurs PR

merge_commit_sha à la rescousse

@zephraph cela devrait être corrigé dans v2.5.6 . Faites-moi savoir si vous avez encore des problèmes!

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