Auto: Releases werden generiert, obwohl kein Label vorhanden ist

Erstellt am 14. Jan. 2019  ·  11Kommentare  ·  Quelle: intuit/auto

Beschreibe den Fehler

In einem unserer Repositorys sehen wir konsistente Bereitstellungen, wenn wir erwarten, dass keine Bereitstellung stattfindet. Diese Abwanderung tritt insbesondere auf, wenn @renovatebot eine Pull-Anfrage zum Aktualisieren von Abhängigkeiten stellt.

Hier ist ein Beispiel-PR, bei dem das No-Release-Label vorhanden ist ( Version: Trivial in unserem Fall), aber die Veröffentlichung findet noch statt. Hier sind die CI-Ergebnisse dieser gegebenen Zusammenführung.

@hipstersmoothie Ich werde bei

Fortpflanzen

Ich habe nicht ganz identifiziert, was die Gemeinsamkeit hier ist. Dies ist der einzige Ort in unserer Organisation, an dem

Erwartetes Verhalten

Es darf keine Freigabe ausgelöst werden.

bug

Hilfreichster Kommentar

@zephraph dies sollte in v2.5.6 behoben werden. Lassen Sie es mich wissen, wenn Sie noch Probleme haben!

Alle 11 Kommentare

Hatte eine andere Instanz davon in einem anderen Repository. https://github.com/artsy/palette/compare/v2.25.10...v2.25.11. Dies wurde auch automatisch zusammengeführt, jedoch auf Gefahr anstelle von @renovatebot. Vielleicht ist es die Art und Weise, wie Bots PRs zusammenführen?

es könnte sein. die Skip-Release-Etiketten erfordern, dass der Kopf über das zugehörige Etikett verfügt.

Es sollte eher nach dem letzten PR als nach dem letzten Commit suchen.

Hmm... ja. Als ich dies erstellte, habe ich zwischen dem Head-Hash und dem Hash der letzten Veröffentlichung geschaut und das verwendet, um herauszufinden, was die PRs waren.

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

@zephraph Nur um es

gitlog:

  1. Einige begehen einen Bot oder eine Person, die nach der Zusammenführung erstellt wurden
  2. der Commit mit dem PR mit dem Label skip-release $$

Ergebnis:

auto tut skip-release weil Commit 2 nicht an der Spitze des Gitlohs steht

Es gab kein Commit, das nach der Zusammenführung vorgenommen wurde. Es scheint die Zusammenführung selbst zu sein. Wenn ein Bot (ich denke, das ist es, aber das könnte Zufall sein) eine PR zusammenführt, erfolgt eine Veröffentlichung, auch wenn ein skipReleaseLabels Label vorhanden ist. Bei Bedarf finde ich weitere Beispiele.

Hier ist das neueste Beispiel (ähnlich dem obigen).

  1. https://github.com/artsy/renovate-config/pull/164 wurde erstellt von renovate
  2. Renovieren Sie dem PR zugewiesene Version: Trivial (die sich in skipReleaseLabels befinden )
  3. Renovate führt die PR automatisch zusammen
  4. Eine neue Veröffentlichung wird veröffentlicht, obwohl ein skipReleaseLabels Label vorhanden ist

Dieser PR-Merge hat keine PR-Nummer im Commit-Betreff

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

Alle, die funktionieren, haben eine PR-Nummer

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

auto verlässt sich auf diese Nummer in der Commit-Nachricht, um die PR-Nummer zu erhalten:

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

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

Beim Zusammenführen dieser PRs scheint also etwas im Gange zu sein. Ist es ein Rebase, das passiert?

Wir brauchen eine Funktion, die das einem SHA zugeordnete pr zurückgibt, aber ich habe Probleme, eine geeignete Octokit-Methode zu finden

hmm ist gerade den Weg gegangen, den Commit im Master mit dem Commit im PR abzugleichen, aber die scheinen unterschiedliche SHAs zu haben.

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

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

Das ist super enttäuschend. Jetzt habe ich keine Ahnung, wie wir diese Commits ihren PRs zuordnen können

merge_commit_sha zur Rettung

@zephraph dies sollte in v2.5.6 behoben werden. Lassen Sie es mich wissen, wenn Sie noch Probleme haben!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen