top | item 40433166

Git Push to Run CI/CD Is a Terrible Developer Experience

6 points| dan_manges | 1 year ago |rwx.com

5 comments

order

mmastrac|1 year ago

CI/CD on push is the worst form of build system – except for all the others that have been tried.

Ideally our builds would be containerized in something a little better than docker, fully hermetic and 100% reproducible outside of github. We just need to solve the caching problems, the overhead of FS access for containerized builds on platforms other than Linux, and the issue of most base containers living on highly centralized infrastructure.

verdverm|1 year ago

Have you seen https://dagger.io? (by the OG creators of Docker)

Fully containerized builds based on BuildKit with a <language> SDK interface. Works really well on both linux and mac

Does the caching, parallel, lazy DAG really well, removes the need for intermediate or base containers to run builds, or more generally containerized workflows

What Dagger enables is you to have your builds run the same locally and in CI. We still want builds that are auto triggered on commits, but we can end the stream of commits to fix CI

dan_manges|1 year ago

Solving those problems would be a dream. Although the interface to initiating a CI/CD run can be solved without solving those other parts. Allowing the run definitions to be passed in, and ensuring any data based on the version control event is parameterized, is an effective solution to the push-to-run problem.