Skip to content
This repository was archived by the owner on Aug 29, 2023. It is now read-only.
This repository was archived by the owner on Aug 29, 2023. It is now read-only.

don't deploy to all repos at the same time #105

@marten-seemann

Description

@marten-seemann

Each deployment causes go-test and go-check to run, spawning a lot of jobs across all our repos. We quickly build up a queue, due to GitHub Action's usage limits: https://docs.github.com/en/actions/reference/usage-limits-billing-and-administration, and jobs take a long time to execute.
Even worse, when a developer opens a new PR, it will now also sit in the queue.

@mvdan pointed out that GitHub Actions has a concurrency option now:
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency.
We could use this option to make sure that only one copy workflow runs at the same time. Iff that workflow opens a new PR, it would sleep for a minute after that.

We could even allow N copy workflows to run concurrently, by setting concurrency: ci-${{ math.Ceil(id/N) }}. This is to speed up the common case of adding new a repository to the workflow: In this case, we run all O(100) copy workflows, but almost all of them won't open a PR. Booting the VM and cloning the repo might still take 15-20s, so running a few jobs concurrently will speed up things.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions