Skip to content

Commit 9dc0a21

Browse files
committed
Move to a new org for GitGitGadget's manually-triggered workflows
The Git maintainer frequently pushes out dozens of branches at the same time. Every of those branches triggers their own CI run, spawning almost 50 jobs, with an overall runtime of over 8h (!) which would amortize to a shorter wall-clock time if only the concurrency limit of 20 parallel jobs was not depleted so efficiently. These concurrency limits are org-wide on GitHub. That is, when dozens of workflow runs are partially running, partially queued up, in `gitgitgadget/git`, all new workflow runs in `gitgitgadget/gitgitgadget-workflows` are queued and will have to wait their turn. In combination, this leads to a frequent starvation of GitHub Actions resources, which means: even short tasks (like the `sync-ref` workflow) won't run for several hours in such situations. To remedy that, I forked the `gitgitgadget-workflows` repository into a new org: `gitgitgadget-workflows. That way, the workflows like `sync-ref` do not have to wait for CI/PR runs to finish in `gitgitgadget/git`. This PR adjusts GitGitGadget's GitHub App to trigger the `sync-ref` workflow in that org. Signed-off-by: Johannes Schindelin <[email protected]>
1 parent 323bb7d commit 9dc0a21

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

GitGitGadget/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ module.exports = async (context, req) => {
6464
const run = await triggerWorkflowDispatch(
6565
context,
6666
undefined,
67-
'gitgitgadget',
67+
'gitgitgadget-workflows',
6868
'gitgitgadget-workflows',
6969
'sync-ref.yml',
7070
'main', {

__tests__/index.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const mockTriggerWorkflowDispatch = jest.fn(async (_context, _token, owner, repo, workflow_id, ref, inputs) => {
2-
expect(`${owner}/${repo}`).toEqual('gitgitgadget/gitgitgadget-workflows')
2+
expect(`${owner}/${repo}`).toEqual('gitgitgadget-workflows/gitgitgadget-workflows')
33
expect(workflow_id).toEqual('sync-ref.yml')
44
expect(ref).toEqual('main')
55
expect(inputs).toEqual({ ref: 'refs/heads/next' })
@@ -203,7 +203,7 @@ testWebhookPayload('react to `next` being pushed to git/git', 'push', {
203203
expect(mockTriggerWorkflowDispatch.mock.calls[0]).toEqual([
204204
context,
205205
undefined,
206-
'gitgitgadget',
206+
'gitgitgadget-workflows',
207207
'gitgitgadget-workflows',
208208
'sync-ref.yml',
209209
'main', {

0 commit comments

Comments
 (0)