Live data from Hacker News

Modern CI is too complex and misdirected (2021)

gregoryszorc.com

1–10 of 207 posts

Re: Modern CI is too complex and misdirected (2021)

#2
You're 100% right IMHO about the convergence of powerful CI pipelines and full build systems. I'm very curious what you'll think if you try Dagger, which is my tool of choice for programming the convergence of CI and build systems. (Not affiliated, just a happy customer)

https://dagger.io/

Re: Modern CI is too complex and misdirected (2021)

#3
These online / paid CI systems are a dime a dozen and who knows what will happen to them in the future…

Im still rocking my good old jenkins machine, which to be fair took me a long time to set up, but has been rock solid ever since and will never cost me much and will never be shut down.

But i can definitely see the appeal of github actions, etc…

Re: Modern CI is too complex and misdirected (2021)

#4

These online / paid CI systems are a dime a dozen and who knows what will happen to them in the future… Im still rocking my good old jenkins machine, which to be fair took me a long time to set up, but has been rock solid ever since and will never cost me much and will never be shut down. But i can definitely see the appeal of github actions, etc…

until you have to debug a GH action, especially if it only runs on main or is one of the handful of tasks that are only picked up when committed to main.

god help you, and don’t even bother with the local emulators / mocks.

Re: Modern CI is too complex and misdirected (2021)

#7
Yeah I think this is totally true. The trouble is there are loads of build systems and loads of platforms that want to provide CI with different features and capabilities. It's difficult to connect them.

One workaround that I have briefly played with but haven't tried in anger: Gitlab lets you dynamically create its `.gitlab-ci.yaml` file: https://docs.gitlab.com/ci/pipelines/downstream_pipelines/#d...

So you can have your build system construct its DAG and then convert that into a `.gitlab-ci.yaml` to run the actual commands (which may be on different platforms, machines, etc.). Haven't tried it though.

Re: Modern CI is too complex and misdirected (2021)

#8

> But if your configuration files devolve into DSL, just use a real programming language already. This times a million. Use a real programming language with a debugger. YAML is awful and Starlark isn’t much better.

bonus points when you start embedding code in your yamlified dsl.

Re: Modern CI is too complex and misdirected (2021)

#10

These online / paid CI systems are a dime a dozen and who knows what will happen to them in the future… Im still rocking my good old jenkins machine, which to be fair took me a long time to set up, but has been rock solid ever since and will never cost me much and will never be shut down. But i can definitely see the appeal of github actions, etc…

until you have to debug a GH action, especially if it only runs on main or is one of the handful of tasks that are only picked up when committed to main. god help you, and don’t even bother with the local emulators / mocks.

I've had a great experience using `act` to debug github actions containers. I guess your mileage, as usual, will vary depending on what you are doing in CI.
Post reply on HN