Auto: Git-Fehler beim Release (aber unsicher, woran es gescheitert ist)

Erstellt am 21. Okt. 2019  ·  12Kommentare  ·  Quelle: intuit/auto

Beschreibe den Fehler

Nach mehreren Fehlstarts habe ich endlich das Relay-Compiler-Language-Typescript wieder freigegeben. Das Drücken von travis war eine Herausforderung.

Hier ist der erfolgreiche Build: https://travis-ci.org/relay-tools/relay-compiler-language-typescript/builds/600830491

Mein Kollege hat danach eine PR zusammengeführt und es kam zu einem neuen Misserfolg

ℹ  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>...]'

Wenn man sich die Ergebnisse des Builds ansieht, ist nicht sofort klar, _was_ fehlgeschlagen ist.

Das einzige, was es nicht getan hat, war console.log die Version am Ende (weil es fehlgeschlagen ist) ... aber die Protokolle lassen mich glauben, dass es hätte scheitern sollen, lange bevor alles andere getan wurde.

Ich bin irgendwie ratlos, ha. Irgendwelche Gedanken?

documentation question

Alle 12 Kommentare

Ich habe das heute gerade durchgemacht. ambiguous argument 'v9.0.0..HEAD' sollte durch git fetch --tags korrigiert werden, damit env alle Tags enthält, die es braucht, um Diffs zu finden

Danke für den Hinweis @strass. Ich habe das Gefühl, dass wir hier die Möglichkeit haben, Dinge zu überprüfen, die wir erwarten, und zu versuchen, sie zu ergreifen, wenn sie nicht existieren.

aber die Protokolle lassen mich glauben, dass es hätte scheitern sollen, bevor ich all die anderen Dinge getan habe.

Ich bin mir nicht sicher, ob wir die richtigen Protokolle anzeigen. Sie enden lange bevor etwas passiert

Ich habe herausgefunden, was passiert ist:

  1. https://github.com/relay-tools/relay-compiler-language-typescript/pull/147 zusammengeführt 9:32 (Build 1)
  2. https://github.com/relay-tools/relay-compiler-language-typescript/pull/139 zusammengeführt 9:33 Uhr (Build 2)
  3. Build 1 führt git checkout master && git pull origin && git branch --set-upstream-to origin/master master was Commit in Build 2 beinhaltet
  4. Build 1 macht eine Hauptversion für die Änderungen von Build 2, obwohl Build 1 ein "Skip Release" war
  5. Build 2 versucht, seine Änderungen freizugeben, aber Build 1 hat dies bereits getan. Das CI versagt also

Anscheinend ist das Problem, dass Travis beim Ausführen des Builds für den Merge-Commit nicht auf Master ist, sodass Sie etwas Git-Fu ausführen müssen. So handhabe ich das für Aktionen (beachten Sie das Fehlen von git checkout master && git pull origin )

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

@zephraph Könnten Sie den Dokumenten eine Seite hinzufügen, die ein gutes Travis-Setup erklärt?

Ich habe das heute gerade durchgemacht. ambiguous argument 'v9.0.0..HEAD' sollte durch git fetch --tags korrigiert werden, damit env alle Tags enthält, die es braucht, um Diffs zu finden

Ich habe dies in https://github.com/intuit/auto/pull/626 angesprochen @strass zu überprüfen und zu verbessern

@hipstersmoothie Ich frage mich auch, wie viel von diesem Auto versuchen sollte, für den Benutzer zu tun? In diesem Fall versuchen Sie einfach, die Tags automatisch abzurufen.

Gesendet mit GitHawk

Ich öffne auto , um ein wenig mehr von dieser Arbeit zu machen, ich weiß nur nicht, wie es in der Praxis aussehen würde. Wie in Ihrem Fall würde das Hinzufügen dieser Funktion eine "leere" Version erstellen, da alles bereits veröffentlicht wurde. Meiner Meinung nach ist die bessere Erfahrung ein Fehler (vielleicht mit einer besseren Nachricht), wenn der Code von einem anderen Zweig veröffentlicht wurde.

Ich weiß auch nicht, wie sich alles verhalten würde, wenn Sie shipit auf einem Zweig ausführen, der sich hinter dem neuesten Tag befindet

Ich werde das jetzt schließen, da #626 ausgeliefert wurde.

Werde einige Dokumente zu Travis config hinzufügen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen