Hacker News new | past | comments | ask | show | jobs | submit login
We're moving continuous integration back to developer machines (world.hey.com)
22 points by lylejantzi3rd 17 days ago | hide | past | favorite | 11 comments



I buy that maintaining a CI setup is not a trivial thing, but if speed is the only other concern, why not just...spin up faster CI runners?

De-centralizing test running also makes it difficult/impossible to e.g. collect test analytics (like Buildkite can do natively) to help gain insight into flaky tests, how code changes impact test duration, etc., and visualize those things over time, especially if developers are using non-homogenous hardware.

That, and if your tests are not being run in CI, then what enforces that tests run and pass before a deploy occurs? Losing that guarantee is not great IMO.


I think it's a good platonic ideal to have CI that _can_ be run on devboxes, but in my opinion most of the value in having runners like GitHub Actions is in _asynchronicity_, not in _performance_. Having to pull in changes and run the suite manually and locally to deal with merges, for instance, seems like a chore.


great way to put it. if speed is the issue... pay up a little bit more.


You should always be able to run your CI on your dev machine! If there's something within GitHub Actions that isn't repeatable locally, then you're just creating another (distributed) snowflake.


Oh god no.

You will run into huge issues with developers machines all being different. Most of the point of CI is to run these things asynchronously in isolation.


If your developer machines behave differently from your CI environment, how do you reproduce issues? If you can solve one, can't you solve the other?


Ideally they should match, but developers may be working on several projects and make modifications that don’t match other projects.


From TFA: 'pretty substantial code base too. About 55,000 lines of ruby code'. Am I the only one to think that 55k LoC is not pretty substantial? That's the amount of code you can easily deal with as a single person, no team required. No wonder doing CI locally sounds tempting, as there's probably not all that much integration in the first place.


I am about to try a variant of this with woodpecker ci and a local agent worker, it should work but it'll be only a small aid.


The thought feels weird, but DHH is not the first one to utter it.

A recent HN submission [0] links to a post in a series about reducing development friction. I do recommend reading the whole thing, but one post is specifically about not using CI [1].

0 - https://news.ycombinator.com/item?id=38831991

1 - https://github.com/aaronjensen/software-development/blob/mas...


I’m on board




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: