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 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 🙏
Please don’t take me as a GH shill because I’m not. I’m not sure we read the same email given your projects. Actions on GH runners are dropping in cost and there’s a new fractional cost for self-hosted. For the average user, especially those on GH runners, costs are going down. Looking at your repo, you haven’t run anything since July. Your workflow files use GH runners. Nothing in your history suggests you’re leaving the free tier so I don’t get this FUD at all. General Microsoft hate? Fuck yeah. Shitty GH service? Fuck yeah. Plenty of reasons to dunk but this was not one of them. M
Self-hosted Forgejo Actions on a Codeberg repository. It was relatively easy to setup and I don’t even need a VPS through my dynamic IP 5G connexion. See also: https://codeberg.org/trougnouf/cfait
connexion
I’m imagining you saying “connex-yun”, and it reminds me of Stewie saying “cool-hhhwip”.
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.
I second GitLab CI/CD - it’s a CI/CD system that just makes sense to me. That doesn’t mean it doesn’t have its complexities depending on your needs, but I’ve overall enjoyed my time working with it.
Edit: I forgot this was self-hosted community, disregard.
How does organization work out?
We have dozens of workflows for our monorepo CI/CD stuff. GitHub 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.
I had someone swear to me that Github templating was better, but I’ve only worked with Gitlabs templates. Why do you like Gitlab over Github?
Gitlab CI feels native. Github offers similar functionality but it feels/looks like an afterthought. I think the Gitlab .yaml structure is more intuitive. Also, how the Gitlab UI visually represents a pipeline is mcuh better, IMO. Self hosting runners on my server (Ubuntu) is so easy and free. I hadn’t tried it with Github but it sounds like it still costs money?!
Note: I don’t work for Gitlab
We use Azure Devops at my current gig. It works pretty well for our setup. I’ve used GHA before; it definitely didn’t “spark joy”. I
wastedspent way too many hours in the “update yaml file, commit, push, wait 5 minutes for it to fail again”spiral of despairfeedback loop.Nice thing with ADO is its release dashboard – you get a really nice summary of recent builds and where they went:
$project - dev - test - prod
I didn’t see anything similar for GHA.
A lot of that pain can be reduced by writing and running your code locally before pushing it to a CI environment. Generally with our automation we write a CLI, And GitHub actions is just an execution environment that calls the CLI.
And if what you’re trying to do must execute inside an action. You can run workflows locally with docker!
That’s a great idea if it’s possible, but I want to say it wouldn’t have helped with our environment at the time.
I almost wish I could look back at that repo and share the yaml file here, maybe I was missing something back then. I’m certainly more proficient with yaml now.
I do recall wishing there was a way to simulate the execution locally. I think I remember hearing about a local runner, but it had too many caveats to help.
Magnetic needle. Steady hand.
Not butterflies?
I do devops at work and my experience is that really any CI/CD system works, they all have enough features to do what you want. They all fundamentally just run scripts on boxes. Therefore, I say pick the easiest one, likely the one that is built into whatever Git system you are using.
Try to keep your pipelines simple-ish when you can, they almost never need to be that complicated. 95% of the time it’s just running a command or two. If a pipeline needs to do something complex, I’d recommend writing that script into the Git repo and calling it, rather than having a CI job that is 100 lines long.
this is my experience as well. we have a bespoke wrapper around Jenkins, and the more we can test locally the less time we have to spend waiting for the system to fail. it’s one of the reasons i’ve adopted
justto script things locally as if it was CI.
I’m currently looking into Concourse.
It does have steeper-than-average learning curve, but I really like that it has well-defined fundamentals (resources, jobs, tasks) and isolation with OCI containers. Before I adopt it fully, I want it to run my nix flake dev shell.
Gitlab CI/CD pipelines are my go-to tool. At work we self host an instance, for personal projects I use gitlab.com.
fwiw, you can self host a GitHub actions runner
Watching this thread because CI/CD is something that I’d like to get into.
Are you a programmer?
I…uh…I pretend I am from time to time.
GitHub Actions mostly.
The rest is usually plumbing and code to support it. The actions are just the automated execution environment.
btw, the prices of managed runners are going down, not increasing
https://docs.github.com/en/billing/reference/actions-runner-pricing#standard-github-hosted-runners
still good to have a self-hosted alternative though
i honestly didn’t look that close, obviously haha
but yeah, i’ve been kinda looking for a reason to de-Microsoft my stuff
deleted by creator
I use cake build to create the build script and then I can run it from wherever.









