Commit graph

5 commits

Author SHA1 Message Date
Wolfgang Walther 366992025d ci/github-script/bot: improve parallelism
We used to employ the worst strategy for parallelism possibly: The rate
limiter capped us at one concurrent request per second, while 100+ items
were handled in parallel. This lead to every item taking the full
duration of the job to proceed, making the data fetched at the beginning
of the job stale at the end. This leads to smaller hiccups when
labeling, or to the merge-bot posting comments after the PR has already
been closed.

GitHub allows 100 concurrent requests, but considers it a best practice
to serialize them. Since serializing all of them causes problems for us,
we should try to go higher.

Since other jobs are running in parallel, we use a conservative value of
20 concurrent requests here. We also introduce the same number of
workers going through the list of items, to make sure that each item is
handled in the shortest time possible from start to finish, before
proceeding to the next. This gives us roughly 2.5 seconds per individual
item - but speeds up the overall execution of the scheduled job to 20-30
seconds from 3-4 minutes before.

(cherry picked from commit 810b9ba51d)
2025-11-04 15:43:33 +00:00
Wolfgang Walther 27c0126b67
ci: apply unsafe fixes with biome
(cherry picked from commit 23b82b3228)
2025-08-20 16:33:44 +02:00
Wolfgang Walther e6d63110df
ci: apply safe formatting with biome
(cherry picked from commit 1fa55d3900)
2025-08-20 16:33:41 +02:00
Wolfgang Walther 7f19a6e408 ci/github-script/commits: init from ci/check-cherry-picks
This turns the check-cherry-pick script into a github-script based
JavaScript program. This makes it much easier to extend to check reverts
or merge commits later on.

(cherry picked from commit b46cb23251)
2025-07-16 10:26:08 +00:00
Wolfgang Walther 383a849bd4 ci/github-script: extract common withRateLimit.js
This can and should be re-used across different scripts.

(cherry picked from commit 2192c5b6e8)
2025-07-15 12:57:57 +00:00