this post was submitted on 11 Aug 2023
562 points (95.2% liked)

Programmer Humor

19503 readers
1264 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 161 points 1 year ago (5 children)

I know this is a meme, but just in case someone doesn't actually know. CI saves literally thousands upon thousands of dev hours a year, even for small teams.

[–] [email protected] 38 points 1 year ago (3 children)

As annoying as it is when someone else breaks the CI pipeline on me, it is utterly invaluable for keeping the vast majority of commits from being able to break other people (and from you breaking others). I can't imagine not having some form of CI to preventing merging bad code.

[–] [email protected] 8 points 1 year ago (1 children)

You should have seen my last job.

[–] [email protected] 4 points 1 year ago

Hah, or my current one. Before we had CI you just directly committed to master (on SVN). It was incredible how unstable our build was. It broke basically everyday. Then one of the senior back end guys got promoted to architect and revamped the whole thing. Probably saved the company tens of millions dollars in man hours, at the very least.

[–] [email protected] 4 points 1 year ago

Even better is when you restrict merges to trunk/main/master/develop (or whatever you call it) to only happen from the CI bot *after all tests (including builds for all supported platforms) pass. Nobody else breaks the CI pipiline, because breaking changes just don't merge. The CI pipeline can test itself!

[–] [email protected] 3 points 1 year ago

I often wonder if there isn't some goodharty kind of local-maximum trap hiding in this..

[–] [email protected] 37 points 1 year ago

And a lot of users' frustration, especially on more niche platforms (Linux, ARM, etc.) - things look much better on release when the code have been regularly compiled and, hopefully tested, on all platforms, not just the one the lead developer uses.

[–] [email protected] 32 points 1 year ago

Why waste time with CI when you can save on thousands of dev hours by limiting yourself to only one giant fuck off release every year!

/Taps forehead so hard it causes brain damage

[–] [email protected] 17 points 1 year ago (1 children)

It wouldn't surprise me if this meme was made by an ops guy.

[–] [email protected] 8 points 1 year ago (1 children)

Ops loves CI systems, if the artifact doesn't come from Jenkins (or friends) it simply doesn't exist to us.

[–] [email protected] 4 points 1 year ago (1 children)

I'm also ops and I get it, it just seems like they're shitposting.

[–] [email protected] 4 points 1 year ago (1 children)

I sure hope so ;) else I'm on the wrong /c

[–] [email protected] 3 points 1 year ago

We only have serious IT discussions here.

[–] [email protected] 7 points 1 year ago (1 children)

Probably also causes lots of hours of maintenance and troubleshooting...but it's a net gain in the end.

[–] [email protected] 28 points 1 year ago (1 children)

I can't even imagine not having a ci pipeline anymore. Having more than a single production architecture target complete with test sets, Security audits, linters, multiple languages, multiple hour builds per platform... hundreds to thousands of developers... It's just not possible to even try to make software at scale without it.

[–] [email protected] 2 points 1 year ago (1 children)

Multiple hour builds dear god 😵‍💫

[–] [email protected] 3 points 1 year ago

If you fuck up the setup and deploy to multiple environments at once with each one set to rebuild an image/program things can get long. You really have to fuck it though.