Auto: Frage - lerna ERR! ENOGIT Getrennter git HEAD innerhalb von Gitlab CI

Erstellt am 19. Apr. 2020  ·  28Kommentare  ·  Quelle: intuit/auto

Beschreibe den Fehler

Wenn Sie shipit ausführen, werden beim letzten Schritt lerna Fehler ausgegeben

Dies könnte mehr mit lerna zusammenhängen, da ich die gemeldeten Fehler ein paar Mal gesehen habe, aber ich habe mich gefragt, ob Sie irgendwelche Vorschläge haben, da der lerna-Aufruf in auto erfolgt?

BEARBEITEN : Beim lokalen Testen werden verschiedene Fehler zurückgegeben. Werde das weiter untersuchen und verfolgen!

bug

Alle 28 Kommentare

Scheint gut zu funktionieren, wenn es lokal ausgeführt wird, nur nicht in der CI-Umgebung. Hmm

Erstens, IDK, wie gut Auto möglicherweise mit GitLab zusammenarbeiten kann, da wir die GitHub-API stark verwenden. Dinge wie das Nachschlagen der Pull-Requests, das Erstellen von Releases und eine ganze Reihe anderer Dinge werden nicht wie erwartet funktionieren.


Was das Problem mit dem abgetrennten Kopf angeht: Die meisten CI-Umgebungen checken Ihren Code nicht auf die gleiche Weise aus. Damit auto funktioniert, ist eine relativ vollständige Ansicht des Git-Repositorys erforderlich. Viele CI-Umgebungen versuchen, intelligent zu sein und keinen vollständigen Checkout durchzuführen. Einige machen einen flachen Klon (github-Aktionen). Einige führen Ihren Zweig vorab zusammen und checken einen tmp-Zweig (Jenkins) aus.

Wenn Sie sich Ihre Protokolle ansehen, scheint es, als ob GitLab einen relativ vollständigen Checkout durchführt, jedoch mit abgesetztem Kopf (Sie befinden sich nicht in einem Zweig). Probieren Sie master .

# See what branches are available
git branch -a

# Checkout master
git checkout master

Das schien diesen Fehler zu beheben, aber jetzt ist es aufgrund isnt Freigabe dieses : cry:

Habe schnell gesucht, aber ich kann nicht herausfinden, was diese Fehlermeldung verursacht.

Dieser Fehler kommt von auto

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

Es könnte jedoch einen anderen Fehler verschlucken. Ich kann in dieser Funktion ein Protokoll zum Drucken hinzufügen, wenn Sie es benötigen

:facepalm: nicht sicher, wie ich das verpasst habe. Wäre es möglich, diesen Fehler auszugeben, wenn ein Verbose-Flag gesetzt wäre? Mir wurde klar, dass ich dies lokal nicht tun konnte, weil ich den Fehler nicht lokal erstellen kann lol

Ist es möglich, dass das Flag -silent --silent ? oder --quiet ? Ich bin mir nicht sicher, wofür die Flags false und -silent sind.

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

Oh Mann Ich muss ein - gelöscht haben

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

Sobald dies veröffentlicht wurde, sollte es gut sein https://github.com/intuit/auto/pull/1161/files

Ein weiteres Problem behoben butttt hehe Irgendwelche anderen Vorschläge?

Du scheinst immer noch auf einem alten Kanarienvogel "auto" version: v9.28.2-canary.1160.15021.0 und nicht die letzte veröffentlichte Version

Hoppla! habe das gerade behoben. Immer noch Pech :( Jetzt mit Fehler: Befehl fehlgeschlagen: git merge-base --is-ancestor :cry:

Hmm nochmal die Logs durchlesen, ist es möglich, dass die falsche Remote-URL verwendet wird ?

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

Das könnte tatsächlich das Problem sein. Das Repository wird auf github gehostet, aber ich verwende das gitlab ci für die Pipeline. Es sieht so aus, als ob es die Fernbedienung ableitet, auf die gedrückt werden soll, aber falsch. Ich bin mir nicht sicher, wie man es ändert, hmm

Also habe ich diesen Fehler umgangen, indem ich die Remote-URL explizit gesetzt habe. Etwas hacky, aber es würde für den Moment funktionieren. Ich versuche jetzt, einen seltsamen npm-Fehler zu beheben. So nah :/

Es funktionierte!!! Musste einige Dinge explizit einstellen, aber yay! Danke für die Hilfe!!

Kurze Frage geöffnet wird. Behandelt automatisch das Erstellen neuer Github-Versionen? Es hat das Tag und die Versionshinweise gut erstellt, aber keine Github-Version :(

Es soll auch die Github-Version erstellen. Ich werde mir ansehen, was du gepostet hast. Wir können auch auf Twitter dm wenn Sie schnellere Antworten wünschen

Das Bauen auf GitLab ist wahrscheinlich die Ursache für die meisten dieser Probleme. Wie Sie bei den Remote-CI-Diensten festgestellt haben, neigen dazu, eine Reihe verschiedener Annahmen zu treffen.

Das heißt, wir können möglicherweise die Remote-Logik verbessern und erkennen, wann wir auf gitlab CI sind.

Hier würden Sie den Code ändern, um die Fernbedienung https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L556 herauszufinden

Es soll auch die Github-Version erstellen. Ich werde mir ansehen, was du gepostet hast. Wir können auch auf Twitter dm wenn Sie schnellere Antworten wünschen

Ich werde in etwa 10 Minuten eine weitere Veröffentlichung erstellen, damit Sie sehen können, was am Ende passiert, aber bei der letzten Veröffentlichung musste ich die github-Versionshinweise manuell hinzufügen.

Überlege jetzt, dieses Limit zu ändern. Es sieht so aus, als würden beim Versuch, das git log AH abzurufen, Fehler auftreten. Es wird ein Tag mit dem Präfix 'v' verwendet, aber meine Lerna-Konfiguration schließt das Präfix aus?

ℹ  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

Sollte es nicht nach Commits vom Tag zum Head suchen, also in diesem Fall 17.0.3 zu HEAD?

Dies liegt daran, dass automatisch die Präfixe v werden. Ich habe gerade eine PR geöffnet, die die Lerna-Konfiguration automatisch respektiert

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

Sie können auch einfach noVersionPrefix in Ihrer automatischen Konfiguration festlegen. aber ich denke das automatisieren ist besser

Sie können auch einfach noVersionPrefix in Ihrer automatischen Konfiguration festlegen. aber ich denke das automatisieren ist besser

Wäre das der bessere Weg, diese Konfiguration zu definieren? Wahrscheinlich oder?

Die Sache ist, du müsstest auch die lerna config einstellen

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

Ich habe es automatisch gemacht, also solltest du nur automatisch aktualisieren müssen

Möglicherweise müssen Sie das letzte Tag/Release bearbeiten, damit das Präfix v

Werde das mal überprüfen! Vielen Dank!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen