Ah yes, I hate the fact that you cannot run GitHub Actions workflows locally in order to debug them.
Circleci, Travis, and gitlab all allow you to ssh into the box you are trying your scripts on and fix it there. Much easier and takes a lot less time. Github actions have an unofficial way of doing it and is…not the best. Actions is actually one of the worst CIs I’m my experience.
Their move to attempt to monetize our on-prem runners might be the kick needed to move to Gitlab 🤞
Gl!
That’s so silly.
lots of people already pointed out tools to (kind of) dry run locally. they are great to figure out cryptic error messages.
however, if you have issues with the complexity of the whole pipeline, it is usually easier to just execute the whole pipeline. for that we have the branch prefix
cicd/and treat these exactly as main/master and develop (except the very last deployment step). that way we can see where a whole pipeline will go. and when it is finally doing what it should, we can squash it before merge -> have a nice history.I have never used them but there are some tools that advertise being able to run GitHub Actions locally, like WRKFLW.
Yeah, we always try to automate as much as possible with generic language build tooling and scripts, so that ideally the call in the runner is just a single command, which can also be triggered locally.
Unfortunately, if you want to be able to re-run intermediate steps, then you do need to inform the runner of what you’re doing and deal with the whole complexity of up-/downloading intermediate results.
Try https://nektosact.com/ It’s not perfect, but I was able to do quite a lot locally and have a faster CI development loop.
That’s why I use a separate branch. Use rebase or reset depending on what exactly you need to clean up when it’s working.





