I think Dagger is changing the foundations of this piece.
1. Dagger allows you to write your builds in a language SDK
2. Dagger runs the same everywhere, including locally, end the commit stream to :fingers_crossed: fix CI
3. Your CI in the cloud can become a minimal number of Dagger calls, will make switching much easier.
4. Dagger modules & functions will be a better form for reusable actions in GHA
GitHub CI will still be popular because most open source projects will have free CI. You can avoid most of the Yaml engineering by adopting tools like Dagger (and CUE)
1. Dagger allows you to write your builds in a language SDK
2. Dagger runs the same everywhere, including locally, end the commit stream to :fingers_crossed: fix CI
3. Your CI in the cloud can become a minimal number of Dagger calls, will make switching much easier.
4. Dagger modules & functions will be a better form for reusable actions in GHA
GitHub CI will still be popular because most open source projects will have free CI. You can avoid most of the Yaml engineering by adopting tools like Dagger (and CUE)