Debug a failing CI step locally instead of committing and pushing repeatedly to see logs.
Pause at a chosen breakpoint in a workflow and inspect the container's live state.
Fix a broken build inside a live shell, then retry the same step without restarting the whole run.
Run a subset of a GitHub Actions workflow locally to test changes before pushing.
| kiwi-07/ciwalk | 0xallam/my-recipe | 0xhassaan/nn-from-scratch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | Python | Python | Python |
| Last pushed | — | 2022-11-22 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 2/5 | 4/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3.11+ and a running Docker daemon.
ciwalk lets developers run their GitHub Actions CI pipeline locally in Docker and actually debug it, instead of the usual cycle of editing YAML, committing, pushing, waiting, and reading logs to guess what went wrong. It can pause at any step, either automatically on failure or at a chosen breakpoint, and drop the user into a live interactive shell running inside the exact same container as that step, with the same environment and working directory. From there the user can inspect files, fix whatever is broken, then exit and choose to retry the step, continue to the next one, or abort the run entirely. Other similar tools that run GitHub Actions locally tend to be all or nothing, but ciwalk keeps the container alive after a failure so the user can interact with it directly, and the mounted workspace is live on the host machine too, so changes made in the shell are visible outside the container as well. Even if the user chooses to continue past a failed step, the overall run still exits with a non-zero status so the failure is not silently hidden. Installation requires Python 3.11 or newer and a running Docker daemon. It can be installed from PyPI, directly from GitHub, from a local clone for development, or as a standalone platform binary from GitHub Releases that does not require installing Python packages, though Docker is still needed either way. The tool currently supports a limited subset of GitHub Actions syntax: single job runs on an Ubuntu based image, basic steps with run, name, env, and working-directory fields, the checkout action through a local bind mount rather than a network clone, and simple input and environment variable substitution. Anything outside that subset, such as matrix builds, secrets, the full GitHub expression language, or jobs with dependencies between them, is explicitly rejected or skipped with a loud, non-zero exit rather than silently passing. The project is released under the MIT license.
A tool that runs GitHub Actions CI pipelines locally in Docker and lets you pause, inspect, and retry a failed step.
Mainly Python. The stack also includes Python, Docker.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.