The easiest way to bootstrap a self-hosted High Availability Kubernetes cluster. A fully automated HA k3s etcd install with kube-vip, MetalLB, and more. Build. Destroy. Repeat.
This will prevent new workflows from running until previous have completed.
This will help when PRs are opened by a person or the bot
This will help when someone pushes more commits to their branch
We might also want to consider running the individual jobs serially, rather than in parallel.
This would only allow one job to run at a time
The upside is that this might help with build failures
The downside is that builds will take loner (but when they fail we have to manually intervene which takes the longest)
CI fails a lot, most of it is because the nature of our machines but some of it might be due to concurrency.
We might want to limit concurrency using this https://docs.github.com/en/actions/using-jobs/using-concurrency
We might also want to consider running the individual jobs serially, rather than in parallel.
The upside is that this might help with build failures The downside is that builds will take loner (but when they fail we have to manually intervene which takes the longest)