Releases: kiwi-07/ciwalk
Releases · kiwi-07/ciwalk
Release list
ciwalk v0.1.0 — Debug CI locally with pause, inspect, and retry
First public release of ciwalk — a local GitHub Actions runner that keeps the container alive when something fails, so you can inspect state, fix it, and retry without another commit-push-wait cycle.
Highlights
- Run workflows locally in Docker —
ciwalk run <workflow.yml>with workspace bind-mount (no network clone foractions/checkout) - Pause on failure —
--pause-on-failopens an interactive shell in the same container (same env, cwd, and bash flags as the failed step) - Breakpoints —
--breakpoint/-bto pause before a named step - Retry / continue / abort — fix in the shell, then choose what happens next;
continueafter a failure still exits non-zero - Orphan cleanup —
ciwalk cleanupandciwalk cleanup --dry-runfor leftoverciwalk-*containers (e.g. afterkill -9) - Live step output — streamed to stdout while steps run
- Safer expressions —
${{ inputs.* }}/${{ env.* }}supported; unknown${{ }}fails loudly instead of silently becoming empty strings
Install
uv tool install ciwalk
# or: pipx install ciwalk
# or: pip install ciwalkRequires: Python 3.11+ and a running Docker daemon.
From GitHub (before/alongside PyPI):
uv tool install git+https://github.com/kiwi-07/ciwalk.gitQuick start
ciwalk run examples/broken-ci.yml --pause-on-failIn the shell after the failure: touch build/MARKER, exit, then choose retry.
MVP scope (intentional limits)
- Single job per run (
--jobwhen the workflow has multiple jobs) runs-on: ubuntu-latest(or omit)- Steps:
run,name,env,working-directory ${{ inputs.* }}/${{ env.* }}only — no fullgithub.*/secrets.*expression language yet- Reusable workflows, job-level
needs:/if:, matrix, secrets, and arbitrary marketplace actions are not supported yet
Default runner image
catthehacker/ubuntu:act-latest (override with --image)
What's included
- CLI:
ciwalk run,ciwalk cleanup - Examples:
examples/hello.yml,examples/broken-ci.yml - Linux smoke CI on Ubuntu (
scripts/linux-smoke.sh) - README with demo GIF and install docs
Known limitations
- No secrets, matrix builds, or full GitHub expression support
- Jobs using reusable workflows or unsupported job keys are skipped with a non-zero exit
- Linux bind-mount behavior is validated in CI; macOS uses Docker Desktop