overwire validate
Validates the whole project in one pass without executing anything: parses every workflow, lints each one, runs static expression analysis (bad needs/steps/matrix references), loads every .overwire/ config file through its real loader, and checks every chain scenario. The fastest pre-run feedback loop for hand-written and generated projects alike.
overwire validate [options] [file]Arguments
Section titled “Arguments”| Argument | Description |
|---|---|
file | Validate a single workflow file instead of the whole project. |
Options
Section titled “Options”| Option | Description |
|---|---|
-d, --dir <path> | Workflows directory to scan (default .github/workflows). |
--config-root <dir> | Flat .overwire/ directory to derive the workspace from. Enables the config and chain checks. |
--json | Emit findings as JSON. |
Output
Section titled “Output”Each finding carries the file, a source (parse, lint, expressions, config, or chain), severity, message, the rule id, the job/step location when known, and a suggested fix. --json wraps them with counts:
{ "workflowsChecked": 8, "configChecked": true, "chainsChecked": 2, "findings": [], "summary": { "errors": 0, "warnings": 0 }}Exit codes
Section titled “Exit codes”0 when no error-severity findings exist (warnings alone pass), 1 when errors were found, 2 for usage problems such as a missing file.
# Whole projectoverwire validate --config-root .overwire
# One workflow, machine-readableoverwire validate .github/workflows/ci.yml --jsonOverwire is not affiliated with, endorsed by, or sponsored by GitHub, Inc., Microsoft Corporation, or Docker, Inc. GitHub and GitHub Actions are trademarks of GitHub, Inc.