3 ms·
I agree that build systems and CI/CD systems should converge. One way this could happen is considering one side, say the Bazel build or the earthfile canonical,
by agbell 5y ago
I agree that build systems and CI/CD systems should converge. One way this could happen is considering one side, say the Bazel build or the earthfile canonical, and generating the config for the other side from it, including various sub-steps and so on. Or Bazel or an Earthfile could be the basis for a CI system, but I think things can go further than that.
Building locally and building in CI should converge, and building on a single machine vs. building across a cluster of machines should also converge.
I'd love to hear other's thoughts or ideas on this. We are thinking about this as well. There is a lot of innovation to come in this space.
- theptip 5y agoGood point. Looking at this, it seems that maybe you could build Earthly=>Gitlab with the current GL API. With "parent/child pipelines" [1] you can have step 1 generate the GL YAML for the rest of the graph, and then step 2 run that YAML. One thing that might be needed on the Earthly side is some way to run only the named job, and fail if the deps aren't built ("pipeline mode"?) so that the downstream steps don't re-run the upstream ones. But feels like the model you're considering is actually close. Anyway, glad to get validation that others are thinking this way, and I'll follow your project to see where you guys get to! [1]: https://docs.gitlab.com/ee/ci/pipelines/parent_child_pipelines.html https://docs.gitlab.com/ee/ci/pipelines/parent_child_pipelin...