{"repo":"rhysd/actionlint","free":true,"listed":false,"github":"https://github.com/rhysd/actionlint","clone":"git clone https://github.com/rhysd/actionlint.git","description":":octocat: Static checker for GitHub Actions workflow files","language":"Go","stars":4142,"topics":["github-actions","lint","linter","ci","actions"],"license":"MIT","category":"dev-tools","readme_excerpt":"actionlint ========== [![CI Status][ci-badge]][ci] [![API Document][apidoc-badge]][apidoc] [actionlint][repo] is a static checker for GitHub Actions workflow files. [Try it online!][playground] Features: - Syntax check for workflow files to check unexpected or missing keys following [workflow syntax][syntax-doc] - Strong type check for ${{ }} expressions to catch several semantic errors like access to not existing property, type mismatches, ... - Actions usage check to check that inputs at with: and outputs in steps.{id}.outputs are correct - Reusable workflow check to check inputs/outputs/secrets of reusable workflows and workflow calls - [shellcheck][] and [pyflakes][] integrations for scripts at run: - Security checks ; [script injection][script-injection-doc] by untrusted inputs, hard-coded credentials - Other several useful checks ; [glob syntax][filter-pattern-doc] validation, dependencies check for needs: , runner label validation, cron syntax validation, ... See the [full list][checks] of checks done by actionlint. Example of broken workflow: actionlint reports 7 errors: Quick start Install actionlint command by downloading [the released binary][releases] or by Homebrew or by go install . See [the installation document][install] for more details like how to manage the command with several package managers or run via Docker container. Basically all you need to do is run the actionlint command in your repository. actionlint automatically detects workflows and checks err","default_branch":null,"files":null,"tree":[],"storefront":"/r/rhysd","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/rhysd/actionlint/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}