what do y'all use for CI/CD?

https://lemmy.world/post/40288876

what do y'all use for CI/CD? - Lemmy.World

hey nerds! i got a lovely email from GitHub this morning that their increasingly vibe-coded, barely-working Actions features are about to get more expensive (charging by the minute for something that notoriously spin-locks is a special flavor of shit sandwich). i usually just use whatever i’m given at wherever i’m working. i do have a project that i maintain to parse Ollama Modelfiles tho: https://github.com/covercash2/modelfile [https://github.com/covercash2/modelfile] and to be honest, Actions is the only solution i’ve ever used that came close to sparking joy, simply because it was easy to use and had tons of community mind-share (i’ve definitely heard horror stories and would never stake my business on it), but this price increase and all the other news around GitHub lately has got me side-eying self-hosting solutions for my git projects. Forgejo seems like the way to go for git hosting, but Actions in particular Just Works™️ for me, so i’m kind of dreading setting something up that will be yet another time sink/rabbit hole (just in time for the holidays! 🙃). i can install most of my tooling with my language toolchain (read: rustup and cargo) which makes things fairly neat, but i just don’t have a sense for what people use outside of Jenkins and Actions. i thought this community might have some insight beyond the LLM generated listicles that have blighted modern search results. thanks in advance 🙏

IMO, Gitlab CI/CD blows Github out of the water. They’re not even in the same league. I recommend Gitlab + self hosted runners (it’s so easy).

I’ve been using Gitlab for many years and host my own runners as of the past 6 months because I nearly exhausted my monthly free tier runner minutes one month.

How does organization work out?

We have something like 30+ GitHub actions and 20+ workflows for our monorepo CI/CD stuff. GirHub organization with the flat structure is incredibly annoying.

GitLab is a single file?? (Or am I misinformed? )How does that work out?

The repo specific config is a single file. You can also import templates/other files if need be. I worked in a shop where Devops set up a bunch of templates for generic, common jobs which made getting started easy. If custom config/code is required, overriding a templated job was easy. I was responsible for migrating my team’s ~50 repos (services, libraries, etc) from Jenkins + Bitbucket into Gitlab and found it to be pretty straightforward.