Auto: Atteindre la limite de débit GH lors de la génération du journal des modifications sur un trÚs grand nombre de commits

CrĂ©Ă© le 30 juil. 2020  Â·  29Commentaires  Â·  Source: intuit/auto

DĂ©crivez le bogue

La commande auto shipit parvient d'une maniÚre ou d'une autre à dépasser la limite de débit de l'API de GH lorsqu'elle tente de générer une publication aprÚs la publication du journal des modifications. (Voir captures d'écran)

Reproduire



Courir auto shipit

Pour avoir cette erreur, vous devez avoir un référentiel qui n'a pas de versions mais qui a beaucoup de nombreux prs et commits, donc essentiellement une base de code à haute vitesse.

Comportement prévisible

Une nouvelle version est publiée avec un journal des modifications et une version.

Captures d'Ă©cran

Screenshot_2020-07-30_at_12_01_49

Screenshot_2020-07-30_at_12_01_18

Informations environnementales :

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

Contexte supplémentaire

J'ai pu contourner ce problĂšme en passant le drapeau --no-changelog .

J'ai tracé l'erreur jusqu'à cette ligne de code https://github.com/intuit/auto/blob/d419b17f46638ebee68d125467891ac2e1d25304/packages/core/src/release.ts#L484

bug

Commentaire le plus utile

@vincentbriglia Je suis presque sûr d'avoir résolu le problÚme dans vos journaux en #1424

Pourriez-vous installer la version Canary ? Tout est sous une portée différente, vous devrez donc remplacer tous les noms de package :

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 Si vous pouviez essayer de tester aussi, je l'apprécierais !

Tous les 29 commentaires

Y a-t-il une chance que je puisse voir le repo pour jouer avec ?

wow ça fait beaucoup de demandes

Aussi, si je pouvais obtenir un journal plus complet qui pourrait aider

Était en fait capable de recrĂ©er localement. Je n'ai besoin de rien de ta part d'autre que de l'espoir

Nous créons beaucoup de demandes similaires dans semantic-release , et nous n'avons pas atteint la limite d'abus, pas que je sache. Il devrait y avoir un délai d'attente de 3 secondes entre les demandes qui créent un commentaire, voyez-vous cela se produire dans vos journaux ?

Juste pour ĂȘtre sĂ»r : utilisez-vous une seule instance Octokit pour toutes ces requĂȘtes ?

Je suis presque sûr que nous ne créons que 1.

Cela se passe ici https://github.com/intuit/auto/blob/master/packages/core/src/git.ts#L123

qui ne doit ĂȘtre initialisĂ© qu'une seule fois au dĂ©marrage https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L1643

je peux vĂ©rifier quand mĂȘme

Vérifié : créé une seule fois

Pour tester ce problÚme en automatique :

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

Je pense que cela est lié à https://github.com/octokit/plugin-throttling.js/issues/108 mais nous n'avons qu'une instance d'octokit en cours d'exécution, nous ne devrions donc pas avoir besoin de cluster

faites-vous des requĂȘtes GraphQL ?

Pouvez-vous confirmer que vous voyez les journaux "dépasser les limites d'abus" se produire à un taux d'environ 1 toutes les 3 secondes ?

Ah c'est peut-ĂȘtre ça. nous utilisons @octokit/graphql mais j'ai vu aujourd'hui que vous pouvez le faire directement via octokit. va essayer ça aussi

nous utilisons @octokit/graphql mais j'ai vu aujourd'hui que vous pouvez le faire directement via octokit

Oui, de cette façon, il partage les mĂȘmes paramĂštres de demande et les mĂȘmes crochets de cycle de vie de demande

🙏

D'accord en cours d'exĂ©cution maintenant. Il me reste une heure sur mon taux d'attente limite 😱

@hipstersmoothie, vous pouvez utiliser notre instance github si vous rencontrez cela - nous voyons la mĂȘme chose

Pouvez-vous me lier au journal de construction?

Je vous ai envoyé le journal de construction, car il s'agit d'un dépÎt fermé.

@vincentbriglia Je suis presque sûr d'avoir résolu le problÚme dans vos journaux en #1424

Pourriez-vous installer la version Canary ? Tout est sous une portée différente, vous devrez donc remplacer tous les noms de package :

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 Si vous pouviez essayer de tester aussi, je l'apprécierais !

Essayé avec

"@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",

toujours un problĂšme avec le github runner GITHUB_TOKEN

essayer avec un jeton personnel maintenant (j'ai déjà vu quelques écarts)

ne fonctionnait pas non plus avec un jeton personnel.

Je vous ai donné accÚs au dépÎt privé

Merci! A pu résoudre votre problÚme assez rapidement. https://github.com/intuit/auto/pull/1424/commits/d6e7be20f17160d253298146b77648b408377890

Je ne pense pas que ce soit le mĂȘme problĂšme que @dariye .

a confirmé que cela réglait le problÚme que j'avais

cependant @hipstersmoothie ce changement a maintenant cessé de publier et/ou de calculer correctement les versions de semver.

Je pense que auto se comporte comme prévu. J'y ai fait allusion ici . C'est parce que le plugin conventional commits traite tous les messages de commit non-semver comme skip-release (ex: corvée, docs, etc.).

C'est le PR qui l'a mis en Ɠuvre https://github.com/intuit/auto/pull/1086

Préféreriez-vous que le plugin de commit conventionnel ne le fasse pas ? (par exemple : ne pas sauter pour la doc/la corvée/etc)

@vincentbriglia Je suis presque sûr d'avoir résolu le problÚme dans vos journaux en #1424

Pourriez-vous installer la version Canary ? Tout est sous une portée différente, vous devrez donc remplacer tous les noms de package :

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 Si vous pouviez essayer de tester aussi, je l'apprécierais !

Je teste ça aujourd'hui et je reviens vers vous.

@hipstersmoothie c'est toujours un problÚme lors de la génération d'un changelog.

Donc, tout semblait fonctionner lorsque j'avais le drapeau --no-changelog. Cependant, je l'ai enlevĂ© et nous essayons simplement d'utiliser auto shipit dans le CI et cela Ă©choue avec la mĂȘme erreur de limite de dĂ©bit.

@hipstersmoothie j'ai rajoutĂ© un peu plus de contexte ☝

@hipstersmoothie merci beaucoup pour votre recherche. Je pense que les versions récentes ont corrigé cela. Je vais aller de l'avant et fermer ceci. auto fonctionne plutÎt bien pour nous maintenant. Merci encore

Cette page vous a été utile?
0 / 5 - 0 notes