Skip to content

feat(cli): actio run — local execution with source-mapped runtime errors #136

Description

@tag-assistant

The #1 GitHub Actions complaint across the two biggest HN threads ("The Pain That Is GitHub Actions" 704p/562c, "I hate GitHub Actions with passion" 490p/341c) is "I cannot run/test/debug it locally." Theme frequency across ~900 flattened comments: local 144, debug 66, breakpoint 5 — dwarfing syntax gripes. act exists but is universally described as a third-party hack.

Actio is uniquely positioned: it already emits the workflow + a .yml.map source-map. actio run would compile, invoke act (or another local runner) on the generated YAML, and map any runtime error/line back to the .actio.yml source — fusing local-dev + debug + source-maps into one command nobody else can offer.

Proposed behavior

  • actio run [workflow] [-j job] builds to a temp dir, shells out to act with the generated .yml, streams output.
  • On a runner error referencing a generated line, resolve through .yml.map and re-print the originating .actio.yml location (same engine as actio-annotate-action, but local + interactive).
  • --dry-run prints the act invocation; --keep retains generated output.
  • Detect missing act and print install guidance (do not bundle).

Scope note

Borderline: act is the runtime, Actio only orchestrates + maps. But it is authoring-side tooling over a compile-time artifact (the source-map), not runtime DAG synthesis — stays on the right side of #101. Highest-demand item in the entire research corpus.

Open questions

  • act vs a thin built-in Docker runner (start by wrapping act).
  • Map errors in user run: bodies (pass through) vs macro-generated lines (map to the macro).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions