Auto: Достижение предела скорости GH при создании журнала изменений для очень большого количества коммитов

Созданный на 30 июл. 2020  ·  29Комментарии  ·  Источник: intuit/auto

Опишите ошибку

Команде auto shipit каким-то образом удается превысить ограничение скорости API GH при попытке создать пост-релиз журнала изменений. (См. Скриншоты)

Воспроизводить



Запустить auto shipit

Чтобы получить эту ошибку, вам нужно иметь репозиторий, в котором нет выпусков, но есть много-много PR и коммитов, поэтому по существу высокоскоростная кодовая база.

Ожидаемое поведение

Выпущена новая версия с журналом изменений и выпуском.

Скриншоты

Screenshot_2020-07-30_at_12_01_49

Screenshot_2020-07-30_at_12_01_18

Информация об окружающей среде:

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

Дополнительный контекст

Мне удалось обойти это, передав флаг --no-changelog .

Я проследил ошибку до этой строки кода https://github.com/intuit/auto/blob/d419b17f46638ebee68d125467891ac2e1d25304/packages/core/src/release.ts#L484

Самый полезный комментарий

@vincentbriglia Я почти уверен, что исправил проблему в ваших журналах в # 1424

Не могли бы вы установить канареечную версию? Это все в другой области, поэтому вам придется заменить все имена пакетов:

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 Если бы ты тоже попробовал протестировать, я был бы признателен!

Все 29 Комментарий

Есть ли шанс, что я смогу увидеть репо, чтобы поиграть с ним?

вау, это много запросов

Также, если бы я мог получить более полный журнал, который мог бы помочь

Фактически удалось воссоздать локально. От тебя ничего не нужно, кроме надежды 😉

Мы действительно создаем много похожих запросов в semantic-release , и мы не достигли предела злоупотреблений, насколько мне известно. Между запросами, создающими комментарий, должен быть тайм-аут 3 секунды, вы видите это в своих журналах?

На всякий случай: используете ли вы один экземпляр Octokit для всех этих запросов?

Уверен, что мы создаем только 1.

Это происходит здесь https://github.com/intuit/auto/blob/master/packages/core/src/git.ts#L123

который следует инициализировать только один раз при запуске https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L1643

Я могу проверить хотя

Подтверждено: создается только один раз

Чтобы проверить эту проблему в автоматическом режиме:

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

Я думаю, это связано с https://github.com/octokit/plugin-throttling.js/issues/108, но у нас работает только 1 экземпляр octokit, поэтому нам не нужно кластеризовать

вы делаете какие-либо запросы GraphQL?

Можете ли вы подтвердить, что вы видите, что журналы "превышения пределов злоупотреблений" происходят примерно 1 раз в 3 секунды?

Ах, может быть. мы используем @ octokit / graphql, но сегодня я увидел, что вы можете сделать это прямо через Octokit. тоже попробую

мы используем @ octokit / graphql, но сегодня я увидел, что вы можете сделать это прямо, хотя octokit

Да, таким образом он использует одни и те же настройки запроса и хуки жизненного цикла запроса.

🙏

Ладно, бегаем. У меня остался час ожидания на ограничении скорости

@hipstersmoothie, вы можете использовать наш экземпляр github, если вы это делаете - мы видим то же самое

Вы можете связать меня с журналом сборки?

Я отправил вам журнал сборки, так как он находится в закрытом репо.

@vincentbriglia Я почти уверен, что исправил проблему в ваших журналах в # 1424

Не могли бы вы установить канареечную версию? Это все в другой области, поэтому вам придется заменить все имена пакетов:

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 Если бы ты тоже попробовал протестировать, я был бы признателен!

Пробовал с

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

все еще проблема с бегуном github GITHUB_TOKEN

сейчас пытаюсь использовать личный токен (раньше я видел некоторые несоответствия)

с личным токеном тоже не работала.

Я дал вам доступ к приватному репо @hipstersmoothie - ветка из соседней ветки

Спасибо! Смог решить вашу проблему довольно быстро. https://github.com/intuit/auto/pull/1424/commit/d6e7be20f17160d253298146b77648b408377890

Я не думаю, что это та же проблема, что и у @dariye .

подтвердил, что это устранило мою проблему @hipstersmoothie - хороших выходных!

однако @hipstersmoothie теперь перестает публиковать и / или правильно рассчитывать выпуски семвера.

Я думаю, что auto ведет себя должным образом. Я упомянул об этом здесь . Это связано с тем, что плагин conventional коммитов обрабатывает все сообщения фиксации, отличные от semver, как skip-release (например: chore, docs и т. Д.).

Это PR, который его реализовал https://github.com/intuit/auto/pull/1086

Вы бы предпочли, чтобы обычный плагин фиксации этого не делал? (например: не пропускайте документы / дела / и т. д.)

@vincentbriglia Я почти уверен, что исправил проблему в ваших журналах в # 1424

Не могли бы вы установить канареечную версию? Это все в другой области, поэтому вам придется заменить все имена пакетов:

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 Если бы ты тоже попробовал протестировать, я был бы признателен!

Я протестирую его сегодня и вернусь к вам.

@hipstersmoothie, это все еще проблема при создании журнала изменений.

Так что, когда у меня был флаг --no-changelog, казалось, что все работает. Однако я снял его, и мы просто пытаемся использовать auto shipit в CI, и он терпит неудачу с той же ошибкой достижения предела скорости.

@hipstersmoothie Я добавил еще немного контекста ☝️

@hipstersmoothie большое спасибо за то, что auto теперь неплохо работает для нас. Еще раз спасибо

Была ли эта страница полезной?
0 / 5 - 0 рейтинги