Auto: Erreichen des GH-Ratenlimits beim Generieren eines Changelogs über eine sehr große Anzahl von Commits

Erstellt am 30. Juli 2020  ·  29Kommentare  ·  Quelle: intuit/auto

Beschreibe den Fehler

Der Befehl auto shipit schafft es irgendwie, das API-Ratenlimit von GH zu überschreiten, wenn versucht wird, ein Changelog nach der Veröffentlichung zu erstellen. (Siehe Screenshots)

Fortpflanzen



auto shipit

Um diesen Fehler zu haben, müssen Sie ein Repository haben, das keine Releases hat, aber viele, viele Prs und Commits hat, also im Wesentlichen eine Codebasis mit hoher Geschwindigkeit.

Erwartetes Verhalten

Eine neue Version wird mit einem Changelog und Release veröffentlicht.

Screenshots

Screenshot_2020-07-30_at_12_01_49

Screenshot_2020-07-30_at_12_01_18

Umweltinformationen:

Environment Information:

"auto" version: v9.49.1
"git"  version: v2.26.0
"node" version: v13.12.0

Project Information:

✔ Repository:      project (​https://github.com/username/project​)
✔ Author Name:     Paul Dariye
✔ Author Email:    [email protected]
✔ Current Version: v0.0.23
✔ Latest Release:  0.0.1 (​https://github.com/username/project/releases/tag/0.0.1​)

✖ Labels configured on GitHub project (Try running "auto create-labels")

GitHub Token Information:

✔ Token:            [Token starting with 76e5]
✔ Repo Permission:  admin
✔ User:             dariye
✔ API:              undefined (​undefined​)
✔ Enabled Scopes:   read:packages, repo, write:packages
✔ Rate Limit:       552/5000

Zusätzlicher Kontext

Ich konnte dies umgehen, indem ich das Flag --no-changelog .

Ich habe den Fehler auf diese Codezeile zurückverfolgt https://github.com/intuit/auto/blob/d419b17f46638ebee68d125467891ac2e1d25304/packages/core/src/release.ts#L484

bug

Hilfreichster Kommentar

@vincentbriglia Ich bin mir ziemlich sicher, dass ich das Problem in deinen Logs in #1424 behoben habe

Könntest du die Canary-Version installieren? Es befindet sich alles unter einem anderen Geltungsbereich, sodass Sie alle Paketnamen ersetzen müssen:

yarn add @auto-canary/[email protected]

yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]

@dariye Wenn Sie versuchen könnten, auch zu testen, wäre ich Ihnen dankbar!

Alle 29 Kommentare

Gibt es eine Chance, dass ich das Repo sehen könnte, um damit herumzuspielen?

wow das sind viele Anfragen

Auch wenn ich ein vollständigeres Protokoll bekommen könnte, könnte das helfen

Konnte tatsächlich lokal nachbauen. Brauche nichts von dir außer Hoffnung

Wir erstellen viele ähnliche Anfragen in semantic-release , und wir haben das Missbrauchslimit nicht erreicht, was mir nicht bekannt ist. Zwischen Anfragen, die einen Kommentar erstellen, sollte eine Zeitüberschreitung von 3 Sekunden liegen. Sehen Sie dies in Ihren Protokollen?

Nur zur Sicherheit: Verwenden Sie für alle diese Anfragen eine einzige Octokit-Instanz?

Ziemlich sicher erstellen wir nur 1.

Das passiert hier https://github.com/intuit/auto/blob/master/packages/core/src/git.ts#L123

die nur einmal beim Start initialisiert werden sollte https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L1643

kann ich aber überprüfen

Verifiziert: nur einmal erstellt

So testen Sie dieses Problem auf Auto:

yarn
yarn build
yarn auto changelog --from v1.0.0 -d

Ich denke, dies hängt mit https://github.com/octokit/plugin-throttling.js/issues/108 zusammen, aber wir haben nur eine Instanz von Octokit, die ausgeführt wird, also sollten wir nicht clustern

Machen Sie GraphQL-Anfragen?

Können Sie bestätigen, dass die Protokolle "Überschreitung der Missbrauchsgrenzen" mit einer Häufigkeit von etwa 1 pro 3 Sekunden auftreten?

Ach das könnte es sein. wir verwenden @octokit/graphql, aber ich habe heute gesehen, dass Sie es direkt mit Octokit tun können. werde das auch versuchen

wir verwenden @octokit/graphql, aber ich habe heute gesehen, dass du es direkt mit octokit machen kannst

Ja, auf diese Weise werden dieselben Anforderungseinstellungen und Lebenszyklus-Hooks verwendet

🙏

Okay, jetzt läuft. Habe aber noch eine Stunde auf meinem Ratenlimit warten

@hipstersmoothie Sie können unsere Github-Instanz verwenden, wenn Sie darauf klicken - wir sehen das Gleiche

Kannst du mich mit dem Buildlog verlinken?

Ich habe Ihnen das Build-Log gesendet, da es sich um ein geschlossenes Repository handelt.

@vincentbriglia Ich bin mir ziemlich sicher, dass ich das Problem in deinen Logs in #1424 behoben habe

Könntest du die Canary-Version installieren? Es befindet sich alles unter einem anderen Geltungsbereich, sodass Sie alle Paketnamen ersetzen müssen:

yarn add @auto-canary/[email protected]

yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]

@dariye Wenn Sie versuchen könnten, auch zu testen, wäre ich Ihnen dankbar!

Habe es ausprobiert mit

"@auto-canary/all-contributors": "9.49.2-canary.1424.17767.0",
"@auto-canary/auto": "9.49.2-canary.1424.17767.0",
"@auto-canary/conventional-commits": "9.49.2-canary.1424.17767.0",
"@auto-canary/first-time-contributor": "9.49.2-canary.1424.17767.0",
"@auto-canary/npm": "9.49.2-canary.1424.17767.0",
"@auto-canary/released": "9.49.2-canary.1424.17767.0",

immer noch ein Problem mit dem Github-Runner GITHUB_TOKEN

versuche es jetzt mit einem persönlichen Token (ich habe schon einige Diskrepanzen gesehen)

funktionierte auch nicht mit einem persönlichen Token.

Ich habe dir Zugang zum privaten Repo @hipstersmoothie gegeben - Branch von nächster Branch

Vielen Dank! Konnte dein Problem recht schnell lösen. https://github.com/intuit/auto/pull/1424/commits/d6e7be20f17160d253298146b77648b408377890

Ich glaube nicht, dass dies das gleiche Problem ist, das @dariye hat.

bestätigt, dass das das Problem behoben hat, das ich hatte @hipstersmoothie - schönes Wochenende!

@hipstersmoothie diese Änderung hat nun jedoch die Veröffentlichung und/oder korrekte Berechnung von Semver-Releases beendet.

Ich denke, auto verhält sich wie erwartet. Darauf habe ich hier conventional -Commit-Plugin alle Nicht-Semver-Commit-Nachrichten als skip-release (z. B.: Hausarbeit, Dokumente usw.).

Dies ist die PR, die es implementiert hat https://github.com/intuit/auto/pull/1086

Möchten Sie, dass das herkömmliche Commit-Plugin dies nicht tut? (zB: nicht für doc/chore/etc überspringen)

@vincentbriglia Ich bin mir ziemlich sicher, dass ich das Problem in deinen Logs in #1424 behoben habe

Könntest du die Canary-Version installieren? Es befindet sich alles unter einem anderen Geltungsbereich, sodass Sie alle Paketnamen ersetzen müssen:

yarn add @auto-canary/[email protected]

yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]

@dariye Wenn Sie versuchen könnten, auch zu testen, wäre ich Ihnen dankbar!

Ich teste es heute und melde mich wieder.

@hipstersmoothie Dies ist immer noch ein Problem beim

Also schien alles zu funktionieren, als ich das Flag --no-changelog hatte. Ich habe es jedoch abgenommen und wir versuchen einfach, auto shipit im CI zu verwenden, und es schlägt mit dem gleichen Rate-Limit-Hit-Fehler fehl.

@hipstersmoothie Ich habe etwas mehr Kontext hinzugefügt ☝️

@hipstersmoothie vielen Dank, dass Sie sich das auto funktioniert jetzt ziemlich gut für uns. Danke noch einmal

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen