Moving away from Github
I’ve seen many posts (Ghostty, Zig) over the last couple of weeks related to people being fed up with Github’s declining availability (soon down to one nine) and explaining why they move to [some other platform].
I’m not using Github enough to suffer from their problems. I’ve got a few small pipelines configured, but since I’m the only dev on those projects - I can run the jobs manually if needed.
There are, however, two main reasons I want to leave this platform behind (for personal projects).
I hate the “you must have an active Github profile to be a good developer” crap that some recruiters believe in.
There’s not too much to say about this. I don’t believe that a 40+ year old developer with 20 years of development experience needs to code on personal projects every day to stay relevant. I changed my profile text to “Personal projects are not hosted on Github anymore”, which may very well result in me never getting hired again.
I want to learn more about the alternatives availabe.
The second point is the interesting one. I’ve been meaning to learn more about managing CI/CD pipelines, hosting runners, managing infrastructure, etc. for some time now. While all the big providers out there have “pay as you go” plans ready, you’ll always pay more than the actual cost of running the setup yourself (true for all businesses except AI).
My first experiment was to add a couple of small test projects on GitLab and to setup a RaspberryPI 5 (16G) as a runner machine. I get what people mean when they say that GitLab is very powerful - but you need a map and two guides to find what your’re looking for. Still, I think it’s mainly a skill issue, that will go away with practice. I find the service repsonsive and the runner is performing very nicely, given how tiny it is. If I want, I can self-host GitLab as well. I do kind of like the idea of someone else managing the source code backups though.. but I could do it all if I wanted! So far everything is free (except the power consumed by the RPi5) - and I don’t need to think about “build minutes”.
My next idea is to design a Kubernetes setup with automatic runner scaling. I have no idea if-, or how that would work, but that’s what makes it interesting! I also like the idea to be able to say that I have a RaspberyPI 5 cluster running in my closet, for some reason. I better get started.