Configs2026年7月27日·1 分钟阅读

wrkflw — Validate and Run GitHub Actions Workflows Locally

A Rust CLI tool with an interactive TUI that lets you test GitHub Actions workflows on your machine before pushing, supporting Docker execution and matrix builds.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
wrkflw
直接安装命令
npx -y tokrepo@latest install d19f0426-89bf-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

wrkflw is a command-line tool that validates GitHub Actions workflow files and runs them locally in Docker containers. Instead of pushing commits just to see if your CI passes, you can iterate on workflows at your desk and catch errors before they reach GitHub.

What wrkflw Does

  • Parses and validates .github/workflows/*.yml files against the Actions schema
  • Runs workflow jobs locally in Docker or Podman containers
  • Supports matrix strategy expansion to test multiple configurations
  • Provides an interactive TUI for selecting which jobs and steps to run
  • Filters workflows by changed files (diff-aware mode)

Architecture Overview

wrkflw is written in Rust for fast startup and low resource usage. The validator parses YAML workflow files and checks them against the GitHub Actions specification, reporting syntax errors, unknown actions, and missing inputs. The runner creates Docker containers that mimic the GitHub-hosted runner environment, mounts the repository, and executes each step sequentially. Matrix builds spawn parallel containers.

Self-Hosting & Configuration

  • Install via Cargo: cargo install wrkflw
  • Alternatively, download pre-built binaries from GitHub Releases
  • Requires Docker or Podman for running workflows locally
  • Configure runner images in .wrkflw.toml (default: ubuntu-latest equivalent)
  • Set secrets and environment variables via the config file or CLI flags

Key Features

  • Fast YAML validation catches errors without running anything
  • Docker-based execution mirrors the GitHub Actions environment
  • Interactive TUI for browsing and selectively running jobs
  • Diff-aware filtering to run only workflows affected by recent changes
  • Matrix strategy support for testing combinatorial build configurations

Comparison with Similar Tools

  • act — the original local Actions runner in Go; wrkflw adds a TUI and diff-aware filtering
  • GitHub CLI (gh workflow run) — triggers remote runs; wrkflw runs everything locally
  • nektos/act — mature Go implementation; wrkflw is newer with a Rust core and interactive UI
  • actionlint — lints workflow YAML; wrkflw validates and runs workflows
  • CI locally with Docker Compose — manual setup; wrkflw automates the container orchestration

FAQ

Q: How close is the local environment to GitHub-hosted runners? A: wrkflw uses community-maintained runner images that replicate the ubuntu-latest toolchain. Some GitHub-specific features (OIDC, caching service) are not available locally.

Q: Can I use custom Docker images? A: Yes. Set the container image per job in your workflow or override it in .wrkflw.toml.

Q: Does wrkflw support composite actions and reusable workflows? A: Basic composite action support is available. Reusable workflow (workflow_call) support is under development.

Q: Is Podman supported in addition to Docker? A: Yes. wrkflw detects Podman automatically if Docker is not installed.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产