Home > Software > Development > Utils > actionlint

actionlint logo

Details

Package ID
actionlint
Version
1.7.12
Downloads
5254
Website
https://github.com/rhysd/actionlint

Summary

Static checker for GitHub Actions workflow files

Description

actionlint

actionlint is a static checker for GitHub Actions workflow files. Try it online!

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, …
  • shellcheck and pyflakes integrations for scripts in run:
  • Other several useful checks; glob syntax validation, dependencies check for needs:, runner label validation, cron syntax validation, …

See README for more details.

Example of broken workflow:

on:
  push:
    branch: main
    tags:
      - 'v\d+'
jobs:
  test:
    strategy:
      matrix:
        os: [macos-latest, linux-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/cache@v2
        with:
          path: ~/.npm
          key: ${{ matrix.platform }}-node-${{ hashFiles('**/package-lock.json') }}
        if: ${{ github.repository.permissions.admin == true }}
      - run: npm install && npm test

Output from actionlint:

output example

Basically all you need to do is running acitonlint command in your repository. actionlint automatically detects workflows in your repository and reports errors in them. actionlint focuses on finding out mistakes. It tries to catch errors as much as possible and make false positives as minimal as possible.

Comments

Loading comments...