mirror of
https://github.com/bahdotsh/wrkflw.git
synced 2025-12-18 04:37:44 +01:00
- Add automatic Docker image pulling in run_container_inner - Implement smart container image selection for GitHub actions - Fix shell command parsing to use bash -c for proper quote/pipe handling - Map shivammathur/setup-php to composer:latest container - Support complex commands with quotes, pipes, and substitutions Fixes issues where: 1. Docker images required manual pulling 2. PHP actions used wrong Node.js containers 3. Commands like 'echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT' failed
wrkflw-executor
The execution engine that runs GitHub Actions workflows locally (Docker, Podman, or emulation).
- Features:
- Job graph execution with
needsordering and parallelism - Docker/Podman container steps and emulation mode
- Basic environment/context wiring compatible with Actions
- Job graph execution with
- Used by:
wrkflwCLI and TUI
API sketch
use wrkflw_executor::{execute_workflow, ExecutionConfig, RuntimeType};
let cfg = ExecutionConfig {
runtime: RuntimeType::Docker,
verbose: true,
preserve_containers_on_failure: false,
};
// Path to a workflow YAML
let workflow_path = std::path::Path::new(".github/workflows/ci.yml");
let result = execute_workflow(workflow_path, cfg).await?;
println!("workflow status: {:?}", result.summary_status);
Prefer using the wrkflw binary for a complete UX across validation, execution, and logs.