Overview of actionlint features
mainactionlint is a static checker for GitHub Actions workflow files that provides the following checks:
- Syntax check: Validates workflow files for unexpected or missing keys.
- Strong type check for
${{ }}expressions: Catches semantic errors like accessing non-existent properties or type mismatches. - Actions usage check: Verifies that
with:inputs andsteps.{id}.outputsare correct for used actions. - Reusable workflow check: Validates inputs, outputs, and secrets for reusable workflows and workflow calls.
- Script integration: Integrates
shellcheckandpyflakesfor scripts withinrun:blocks. - Security checks: Detects potential script injection from untrusted inputs and hard-coded credentials.
- Other checks: Validates glob syntax,
needs:dependencies, runner labels, and cron syntax.