I can’t overstate how much I hate GitHub Actions. I don’t even remember hating any other piece of technology I used. Sure, I still make fun of PHP that I remember from times of PHP41, but even then I didn’t hate it. Merely I found it subpar technology to other emerging at the time (like Ruby on Rails or Django). And yet I hate GitHub Actions.
With Passion2.
Road to Hell
Day before writing these words I was implementing build.rs for my tmplr project. To save you a click - it is a file/project scaffold tool with human readable (and craftable) template files. I (personally) use it very often, given how easy it is to craft new templates, by hand or with aid of the tool, so check it out if you need a similar tool.


Huh, I was expecting more. There’s so much to hate with github actions!
I could go on. I do CI/CD for work and gha is the tool they are having us use. I have no say in the matter.
There’s not to my knowledge a good way to run/test GitHub actions locally. So if I want to verify my change uploads the coverage report after the end of the pipeline, I have to run the whole thing. And then I find an error because on the GitHub runner blah blah is different
The best way I found to do this is by commenting out the portions of the build that take the longest.
Which is stupid, but that’s what you get with Microsoft products.
(I get that there may be ways to test this locally, but I found this method to be the easiest.)
You can install the github actions runner locally and use it, however all that does is eat your cpu cycles and prevent them from charging you. It doesn’t help you debug that blackbox at all.
What would you use if you had a choice?
Not saying it’s perfect, but every job I’ve been at they’re migrating away from Jenkins. And they never have a reason to do so other than shiny new toy. Jenkins has it’s own problems, but I personally think it’s litterally decades ahead of github actions.
I do like runners better than the default jenkins run baremetal on the server, however the runners are too blackbox. I wish there was a debug toggle on runners. Pause at step, then provide a console into the runner. Some runs litterally take hours, so adding some debug output, and rerunning makes troubleshooting tedious.
I’ve found the edit/test/debug loop in Jenkins to be much faster than Github Actions. It was quite a refreshing change when I made that transition.
Yep, I think the only thing github actions has over jenkins is built in versioning. I wish in jenkins I could edit a pipeline and easily roll it back. Or even better have tags so if I break something the team can just use the previous tag while I figure it out.
Interesting. Were you using a Jenkinsfile? I’m not sure I completely understand your use case, but using a Jenkinsfile would mean that your entire pipeline would be defined in a file in source control, so you could roll it back if you made a change that didn’t work quite right. Seems to be what your looking for if I’m understanding what you’re looking for.
https://www.jenkins.io/doc/book/pipeline/jenkinsfile/
Security. Jenkins has issues with every other plugin being a backdoor or version having some vulnerability.
And the Actions in the marketplace aren’t?
My employers have only allowed a very small subset of each. It’s super frustrating having to reinvent the wheel constantly.
I wonder if problems could be mostly avoided by running potentially-unsafe code in a container without network access.
have you looked at solutions which emulate github actions locally?
https://github.com/nektos/act this is one of them but I think I’ve seen one more.
Github actions also has self hosted runners: https://docs.github.com/en/actions/concepts/runners/self-hosted-runners
Never found
actuseful. Where I work, we have our own self hosted instance, including self hosted runners and it doesn’t really improve the situation WRT debugging an Action.I like zuul quite a lot, it’s a bit complicated to set up first but once it’s runnint’s really cool, especially the gating mechanisms can’t be found anywhere else and the dependencies between jobs are very intuitive too.