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
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
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
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:
@dariye Wenn Sie versuchen könnten, auch zu testen, wäre ich Ihnen dankbar!