this post was submitted on 10 Jul 2025
423 points (96.3% liked)

memes

16151 readers
3578 users here now

Community rules

1. Be civilNo trolling, bigotry or other insulting / annoying behaviour

2. No politicsThis is non-politics community. For political memes please go to !politicalmemes@lemmy.world

3. No recent repostsCheck for reposts when posting a meme, you can only repost after 1 month

4. No botsNo bots without the express approval of the mods or the admins

5. No Spam/AdsNo advertisements or spam. This is an instance rule and the only way to live.

A collection of some classic Lemmy memes for your enjoyment

Sister communities

founded 2 years ago
MODERATORS
 

Rolling, rolling, rolling back nothing I love more than communicating why we had to roll back again (⁠ノ⁠ಠ⁠益⁠ಠ⁠)⁠ノ

top 35 comments
sorted by: hot top controversial new old
[–] ViatorOmnium@piefed.social 62 points 1 day ago (1 children)

Question 1: Where's the CI/CD pipeline?
Question 2: Why can one person change production alone without peer review (outside of an emergency)?

You don't have a job, you have a ticking time bomb.

[–] ComfortableRaspberry@feddit.org 20 points 1 day ago* (last edited 1 day ago) (3 children)

It's internal development (Portugal) developing something for an internal department (Germany). There's nothing professional going on here so we are far from any ci/cd pipeline. One person can change everything, because it's just two developers (1 frontend, 1 backend).

Plus things are busy and we (team in Germany) are way more interested in this thing working well than they (team in Portugal) are since they have higher priority tasks..

Of course I can say fuck it and live with the poor quality caused by circumstances that were partially caused by poor management decisions of the company but I'm not able to care little enough.

[–] JackLSauce@lemmy.world 15 points 1 day ago (2 children)

Pre-commit hooks don't require a pipeline nor any money. In most cases it's one line of code to make the tests run every commit

[–] dejected_warp_core@piefed.world 4 points 22 hours ago

Even better: use pre-commit. It supports all kinds of stuff without a lot of config. This gets you (and GP) a lot of the features of a full-blown CI pipeline, but it all runs locally before anyone breaks anything.

[–] SandmanXC@lemmy.world 1 points 1 day ago (4 children)

Stop me from committing my work and I will hunt you down to the ends of the earth.

[–] kkj@lemmy.dbzer0.com 18 points 1 day ago (2 children)

Fix your shit and it won't stop you from committing.

It's also usually only on certain branches, so you can make a branch where you break things and then fix them before you merge to testing/main/whatever.

[–] SandmanXC@lemmy.world 6 points 1 day ago

TIL precommit hooks can be set per branch. I was being facetious to begin with but this sounds pretty good actually.

[–] chellomere@lemmy.world 1 points 1 day ago (1 children)

Nah, at our place it's applied on all branches...

[–] kkj@lemmy.dbzer0.com 2 points 1 day ago (2 children)

What do you do if you have code that isn't complete enough to work? Do you have to just leave it untracked?

[–] chellomere@lemmy.world 2 points 21 hours ago

I don't know what others do, but I personally whip out git commit -n and bypass the hooks in this situation.

[–] neonred@lemmy.world 1 points 23 hours ago (1 children)

If you have code that is not complete it is not qualified to be deployed. Cut work items into smaller chunks but never deploy not fully, 100% working and tested stuff. Not even on dev.

[–] kkj@lemmy.dbzer0.com 2 points 21 hours ago (1 children)

Every branch you have deploys on commit? You have to fully QA all of your code before it goes into any sort of source control?

[–] neonred@lemmy.world 1 points 21 hours ago* (last edited 21 hours ago) (2 children)

Not quite.

  • Every commit is just a local commit
  • Every push runs pre-hooks which execute bunch of checks, for example linters, style checkers, etc. and prevent a push if something is not perfect
  • After every push the CI/CD pipeline runs on origin
  • Every run of the pipeline executes again checks with linters but also securoty checks for CVEs on dependencies and runtime
  • Every pipeline run also executes all tests such as unit tests, scenario tests, integration tests
  • If any of the above fails, the pipeline fails and stops
  • Only if everything is okay, one can deploy on dev, the first stage
  • Only if this is okay, the artifact gets pushed to the central artifact store
  • Only if this suceesa a prod deployment can run, which pulls the artifact from the store
  • Runners for dev and prod are distinct and don't have rights the other has, the only common contact point is the artifact store

That's an extremely very basic overview with many steps and concepts omitted but you get the idea.

[–] kkj@lemmy.dbzer0.com 2 points 20 hours ago (1 children)

That seems reasonable to perform on protected branches, but I'm not a fan of protecting all branches. That could leave valuable code with a single copy on a dev machine. I'd rather have it pushed to an unprotected branch and then be checked on merge instead of push.

[–] neonred@lemmy.world 1 points 20 hours ago

Only main is protected, you can force push on feature branches.

[–] chellomere@lemmy.world 1 points 21 hours ago (1 children)

So, what if I want to push some debug or preliminary code to a topic branch, would this system prevent this if all tests don't pass?

[–] neonred@lemmy.world 1 points 20 hours ago* (last edited 20 hours ago) (1 children)

No, it does not prevent pushing (as long as the pre-hooks work) but you cannot deploy from a failed pipeline/branch because you have defective software, as proven by failed tests.

[–] chellomere@lemmy.world 1 points 6 hours ago

That is reasonable

[–] 4am@lemmy.zip 3 points 1 day ago

Take down prod while I’m on call and seeing my kid and I shall return the favor

[–] JackLSauce@lemmy.world 2 points 1 day ago (1 children)

I get that a lot

Getting threats over one line of code is called senior development

[–] SandmanXC@lemmy.world 1 points 1 day ago

Don't worry I'm too lazy to hunt you down farther than the coffee shop next to me.

[–] chellomere@lemmy.world 1 points 1 day ago* (last edited 1 day ago)

I agree. I absolutely hate when some pesky git hook rejects some debug code I wrote that I want to commit. Mind you, commit, not integrate. This is the situation where I whip out git commit -n.

[–] surewhynotlem@lemmy.world 11 points 1 day ago

I demand CI/CD for my scripts. If it runs in prod or against prod or anywhere near prod, it gets a pipeline.

Technical maturity isn't just for big companies and important things. It's a practice. Why half-ass something when you could whole ass it?

[–] neonred@lemmy.world -1 points 23 hours ago

If you have tests you have to automate them and have a pipeline which stops any deployments when these tests fail. You definitely have a mindset issue and not a management or tool issue. I am not sorry but as a DevOps Engineer I can only say you guys are a lousy hack and should probably seek a different job.

[–] folekaule@lemmy.world 29 points 1 day ago

It doesn't have to be that way, if you have a CI/CD process that prevents it.

[–] Lulzagna@lemmy.world 20 points 1 day ago (3 children)

Why kind of psychos are merging with failing tests?

[–] CosmicTurtle0@lemmy.dbzer0.com 14 points 1 day ago (1 children)

The kinds of psychos that work at companies that measure performance by number of commits and PRs, successful or not.

[–] elvith@feddit.org 6 points 1 day ago

That explains why vibe coding is so popular… just commit after every iteration the LLM spits out

[–] brezel@piefed.social 2 points 1 day ago (1 children)

the real question is why doesn't the CI/CD prevent merging with failing tests in the first place. i have not worked in any company that allowed that for at least 15 years.

[–] fushuan@piefed.blahaj.zone 4 points 1 day ago (1 children)

Rn I'm in a project where everyone that has access to the code is given the role of owner of the group so we have permissions to skip any and all measures since owners don't care.

I'm so happy that tomorrow is my last day. So happy.

[–] brezel@piefed.social 1 points 1 day ago

haha, i can imagine :)

[–] bleistift2@sopuli.xyz 1 points 1 day ago

The kind of psychos that have “nice to have” tests. If it’s red, it’s not critical, but still worthy of attention… sometime.

[–] jatone@lemmy.dbzer0.com 11 points 1 day ago

because they know better than your tests obv.

[–] atomicbocks@sh.itjust.works 9 points 1 day ago

You guys get to test?

Proper procedure would have been the dev updating the uts so that they pass. If all they updated was adding ignore or commenting out code in the ut, even better!