This GitHub Action allows you to quickly and easily run actionlint in your GitHub workflow using native Runner OS without installing 3rd party dependencies. It is based on an official action lint usage proposal from Use actionlint on GitHub Actions together with Problem Matchers.
ubuntu-latest
, macos-latest
, windows-latest
).actionlint
binaries for faster and more efficient workflow run.
actionlint
dependencies like shellcheck
or pyflakes
are not cached, but action installs them if not present on the GitHub Runner using pipx (make sure your GitHub Runner has it).Just place in your GitHub workflow steps:
- name: actionlint uses: raven-actions/actionlint@v2
You can modify the default configuration with optional inputs. All optional inputs are listed in the 📥 Inputs section.
Action returns some basic information. For more details, follow 📤 Outputs section.
- name: actionlint id: actionlint #optional, id required only when outputs are used in the workflow steps later uses: raven-actions/actionlint@v2 with: matcher: false # optional cache: false # optional fail-on-error: false # optional files: "tests/*.yml, tests/*.yaml" # optional, example on how to grab all .yml and .yaml files from the test directory flags: "-ignore SC2086" # optional - name: actionlint Summary if: ${{ steps.actionlint.outputs.exit-code != 0 }} # example usage, do echo only when actionlint action failed run: | echo "Used actionlint version ${{ steps.actionlint.outputs.version-semver }}" echo "Used actionlint release ${{ steps.actionlint.outputs.version-tag }}" echo "actionlint ended with ${{ steps.actionlint.outputs.exit-code }} exit code" echo "actionlint ended because '${{ steps.actionlint.outputs.exit-message }}'" echo "actionlint found ${{ steps.actionlint.outputs.total-errors }} errors" echo "actionlint checked ${{ steps.actionlint.outputs.total-files }} files" echo "actionlint cache used: ${{ steps.actionlint.outputs.cache-hit }}" exit ${{ steps.actionlint.outputs.exit-code }}Name Required Type Default value Description
version
false string
latest
SemVer version of actionlint
, recommended to keep default: latest
matcher
false bool
true
Use matcher for GitHub annotations. files
false string
not set To lint different workflow files (default searching directory is .github/workflows
), use comma-separated glob patterns, e.g., tests/*.yml, tests/*.yaml
flags
false string
not set Extra flags to use with actionlint
group-result
false bool
true
Use the GitHub log grouping feature for failure actionlint results. fail-on-error
false bool
true
Fail action on actionlint
errors. shellcheck
false bool
true
Use shellcheck
with actionlint
(and install if it does not exist) pyflakes
false bool
true
Use pyflakes
with actionlint
(and install if it does not exist) cache
false bool
true
Use GitHub cache for caching binaries for the next runs. github-token
false string
github.token
GitHub Token for API authentication. Name Type Description version-semver
string
SemVer version of actionlint
, recommended to keep default: latest version-tag
string
Use matcher for GitHub annotations exit-code
int
Exit status code based on actionlint exit status exit-message
string
Exit status message based on actionlint exit status total-errors
int
Total number of errors found during the linting total-files
int
Total number of checked files cache-hit
bool
GitHub cache has been used?
Contributions to the project are welcome! Please follow Contributing Guide.
This project is distributed under the terms of the MIT license.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4