← statichum.studio

Local CI Prototype Runner So Devs Can Debug GitHub Actions Workflows on Their Machine Before Committing YAML

developer tool real project • building

A direct, willing-to-pay Ask HN comment captured a developer pain that nearly every team running GitHub Actions or GitLab CI knows by heart: you can't iterate on a workflow without committing-pushing-watching, and a single misplaced quote in a YAML file means another commit and another six-minute round trip. The commenter explicitly says 'Solve this and I would pay for it.' nektos/act exists for GitHub Actions but is incomplete (matrix builds, services, secrets, custom runners, OIDC, reusable workflows all break in subtle ways), and there's nothing equivalent for GitLab or BuildKite. The wedge is a polished local runner that exposes the full CI environment as an interactive shell with a debugger-style step controller and rollback, not a one-shot 'run the YAML and pray' replay.

builder note

act is a forkable foundation. The product gap is the developer experience layer on top — a textual debugger ('break before step deploy', 'set env FOO=bar and continue', 'rerun the failed step'), full marketplace-action compatibility via image pulling, and an interactive shell into the runner container at any breakpoint. Charge per seat to teams that already run GitHub Actions Enterprise. The single biggest mistake competitors make is treating this as a 'CI replacement' — it isn't, it's a debugging adapter for the CI you already have.

landscape (5 existing solutions)

Local CI runners exist but cover only the simple 80%. The hard 20% (matrix, OIDC, marketplace actions, reusable workflows, services) is exactly where the bugs are, and that's exactly where the YAML-commit-pray loop is most painful. The wedge is fidelity — a local runner that loads the same Docker images, mounts the same env, supports interactive 'step into', and lets you rewrite a step in place and retry without committing. Nobody has shipped that for GitHub Actions, and the willingness to pay among CI sufferers is real.

nektos/act Local GitHub Actions runner. Works for simple workflows. Breaks on matrix builds, reusable workflows, OIDC tokens, and the 50+ marketplace actions that depend on env vars only set in the real runner. Not interactive — runs the whole workflow start-to-finish.
gitlab-runner exec Officially deprecated by GitLab. Latest GitLab versions are removing it. No replacement.
Dagger CI as code in a real programming language. Solves a different problem (portable pipelines) and forces a rewrite of every existing workflow. Useful, but not what someone with 200 .yaml files wants on a Tuesday.
Earthly Same shape as Dagger — replaces YAML with Earthfile DSL. Excellent for new projects, doesn't help debug an existing GitHub Actions workflow.
BuildKite Agent / Docker compose-based CI BuildKite has the cleanest local-vs-CI parity story on the market, but only because their workers are general-purpose. Doesn't help GitHub Actions or GitLab users.

sources (2)

hackernews https://news.ycombinator.com/item?id=46400062 "I could use a sane CI system. I hate DevOps. I have to do multiple commits to implement something. I would love to be able to have access to the same env as the CI so that I could prototype the script/job on my own machine before committing to git. Most things are using Docker anyway, so it should be possible. I hate that I need to write commands in Yaml files, commit (or use the browser) and then look at the result. Solve this and I would pay for it." 2025-12-27
hackernews https://news.ycombinator.com/item?id=46402159 "Perhaps the ability to stop at a specific point in the script and being able to modify any commands and execute the step and then continue the script until it fails again. You know... debugging interface would be a killer feature that would save so much time developing scripts." 2025-12-27
devopscigithub-actionsdeveloper-experiencedebuggeryaml