- actionlint now checks evaluated values at
${{ }}
are not an object nor an array since they are not useful. See the check document for more details.
# ERROR: This will always be replaced with `echo 'Object'`
- run: echo '${{ runner }}'
# OK: Serialize an object into JSON to check the content
- run: echo '${{ toJSON(runner) }}'
- Add pre-commit support. pre-commit is a framework for managing Git
pre-commit
hooks. See the usage document for more details. (thanks @xsc27 for adding the integration at #33) (#23)
- Add an official Docker image. The Docker image contains shellcheck and pyflakes as dependencies. Now actionlint can be run with
docker run
command easily. See the usage document for more details. (thanks @xsc27 for the help at #34)
docker run --rm -v $(pwd):/repo --workdir /repo rhysd/actionlint:latest -color
- Go 1.17 is now a default compiler to build actionlint. Built binaries are faster than before by 2~7% when the process is CPU-bound. Sizes of built binaries are about 2% smaller. Note that Go 1.16 continues to be supported.
windows/arm64
target is added to released binaries thanks to Go 1.17.
- Now any value can be converted into bool implicitly. Previously this was not permitted as actionlint provides stricter type check. However it is not useful that a condition like
if: github.event.foo
causes a type error.
- Fix a prefix operator cannot be applied repeatedly like
!!42
.
- Fix a potential crash when type checking on expanding an object with
${{ }}
like matrix: ${{ fromJSON(env.FOO) }}
- Update popular actions data set (#36)