Comprehensive toolkit for validating, linting, and testing GitHub Actions workflow files, custom local actions, and public actions. Use this skill when working with GitHub Actions YAML files (.github/workflows/*.yml), validating workflow syntax, testing workflow execution with act, or debugging workflow issues.
Overall
score
93%
Does it follow best practices?
Validation for skill structure
Act is a tool that allows you to run your GitHub Actions locally, providing fast feedback and acting as a local task runner.
# Install act using the official script
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/nektos/act/master/install.sh | bash
# Or use the skill's installation script
bash scripts/install_tools.shList all available workflows in the repository:
act -lList workflows for a specific event:
act -l pull_request
act -l push
act -l workflow_dispatchValidate workflows without executing them, useful for inspection and validation:
act -n
# or (long form)
act --dryrunThis performs a dry run that:
Important for Validation: The dry-run mode is perfect for validating workflow syntax before pushing to GitHub.
Run the default workflow:
actRun workflows for a specific event:
act push
act pull_request
act workflow_dispatchRun a specific job:
act -j <job-id>Run a specific workflow file:
act -W .github/workflows/ci.ymlUse dry run to check if workflows parse correctly:
act -nIf there are syntax errors, act will report them immediately.
Before pushing to GitHub, test workflows locally:
# Test push event workflows
act push
# Test pull request workflows
act pull_requestRun workflows with verbose output:
act -vSee which events have workflows configured:
act -lOutput format:
Stage Job ID Job name Workflow name Workflow file Events
0 build build CI ci.yml push,pull_request
0 test test CI ci.yml push,pull_requestEnsure consistent platform behavior across different machines:
act --container-architecture linux/amd64This is especially important on ARM-based Macs (M1/M2/M3) to ensure workflows run in the same environment as GitHub's x64 runners.
Act uses Docker containers to run jobs. Specify custom images:
act -P ubuntu-latest=node:16-busterCreate .actrc file in your project or home directory to set default options:
# .actrc
--container-architecture=linux/amd64
--action-offline-modeOptions are loaded in this order:
.actrc.actrc.actrcProvide secrets for testing:
act -s GITHUB_TOKEN=ghp_xxxOr use a secrets file:
act --secret-file .secretsSet environment variables:
act --env MY_VAR=valuePass input variables:
act workflow_dispatch --input myInput=myValueBe aware of act's limitations:
0: Success - all jobs passed1: Failure - at least one job failed2: Error - workflow parsing or execution erroract -n to catch syntax errorsact -v when troubleshootingSolution: Start Docker Desktop or Docker daemon
Solution: Ensure you're in the repository root or use -W to specify the workflow file path
Solution: Some actions may not be available locally. Use -P to specify alternative Docker images or skip the problematic action for validation purposes
Solution: Clean up Docker images: docker system prune -a
Install with Tessl CLI
npx tessl i pantheon-ai/github-actions-validator@0.1.0