Dagger Python SDK: Develop Your CI/CD Pipelines as Code
11–20 of 92 posts
Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#12I recently used act[0] to locally test my GitHub actions pipelines and worked okay, the fact that I could interact with the Dagger API via a Python SDK could be even more convenient, will definitely try!
Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#13Complete gamechanger to be able to move away from jenkins groovy CPS hell
Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#14Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#15Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#16Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#17Curious if cuelang just ended up being too much of a hurdle for onboarding. I like it and have used it quite a bit but there's something about the syntax that makes it impenetrable for many.
So, no matter what language we had chosen for our first SDK, we would have eventually hit the same problem. The only way to truly solve the "CI/CD as code" problem for everyone, is to have a common engine and API that can be programmed with (almost) any language.
Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#18This makes a lot of sense but would it prevent developers from using the default diagrams already built into most CICD websites. I assume migrating to this would make the CICD pipeline look like one step from gitlab, bitbucket, and githubs perspective.
If you've already found yourself integrating a Makefile in a CI job, and figuring out the best mapping of Make rules to CI job/step/workflow: this is exactly the same. Ultimately you're just executing a tool which happens to depend on the Dagger engine. How and when you execute it is entirely up to you.
For example, here's the Github Actions job we use to test the Dagger Python SDK. It executes a custom tool written in Go. hhttps://github.com/dagger/dagger/blob/bd75d17f9625f837d7a2f9...
Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#19While I prefer python over yaml, I tend to think imperative build systems are inherently more brittle.
Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code
#20Round-trip times for GitHub Actions are too high: sometimes you're waiting for 10 minutes just to run into a dumb typo, empty string-evaluated variable or other mishap. There's zero IDE support for almost anything beyond getting the YAML syntax itself right.
We have containerization for write-once-run-anywhere and languages like Python for highly productive (without footguns as bash has them), imperative descriptions of what to do. The main downside I see is it getting messy and cowboy-ish. That's where frameworks can step in. If the Dagger SDK were widely adopted, it'd be as exchangeable and widely understood/supported as, say, GitHub Actions themselves.
We currently have quite inefficient GHA pipelines (repeated actions etc.) simply because the provided YAML possibilities aren't descriptive enough. (Are Turing-complete languages a bad choice for pipelines?)
What's unclear to me from the article and video is how this can replace e.g. GitHub Actions. Their integration with e.g. PR status checks and the like is a must, of course. Would Dagger just run on top of a `ubuntu-latest` GHA runner?