Overview of actrun
mainactrun is a core API designed for MVP-compatible GitHub Actions push CI runners. It parses a subset of GitHub Actions push workflows, lowers them into a bitflow Intermediate Representation (IR), and executes them on the host shell for native targets.
Key capabilities include:
- Parsing
pushtrigger filters and workflow YAML subsets. - Handling
strategy.matrix(axes, include, exclude, fail-fast, max-parallel). - Managing job dependencies (
needs) and aggregated outputs/results. - Supporting minimal
if:conditions at both job and step levels. - Providing minimal support for
${{ vars.* }}and${{ secrets.* }}viaACTRUN_VAR_<NAME>andACTRUN_SECRET_<NAME>environment variables. - Supporting reusable workflows (
workflow_call), local/remoteuses, and container-based jobs (including Docker adapters and service containers). - Implementing built-in actions like
actions/checkout,actions/upload-artifact,actions/download-artifact,actions/setup-node, andactions/cache. - Managing a local run store for logs, artifacts, and caches.