You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some filters are exclusive in events at on:. Now actionlint checks the exclusive filters are used in the same event. paths and paths-ignore, branches and branches-ignore, tags and tags-ignore are exclusive. See the document for the details.
on:
push:
# ERROR: Both 'paths' and 'paths-ignore' filters cannot be used for the same eventpaths: ...paths-ignore: ...
Some event filters are checked more strictly. Some filters are only available with specific events. Now actionlint checks the limitation. See the document for complete list of such filters.
on:
release:
# ERROR: 'tags' filter is only available for 'push' eventtags: v*.*.*
Paths starting/ending with spaces are now reported as error.
Inputs of workflow which specify both default and required are now reported as error. When required is specified at input of workflow call, a caller of it must specify value of the input. So the default value will never be used. (#154, thanks @sksat)
on:
workflow_call:
inputs:
my_input:
description: testtype: string# ERROR: The default value 'aaa' will never be usedrequired: truedefault: aaa
on:
workflow_dispatch:
inputs:
my_input:
type: stringrequired: truejobs:
my_job:
runs-on: ubuntu-lateststeps:
- run: echo ${{ github.event.inputs.my_input }}# Now the input is also set to `inputs` context
- run: echo ${{ inputs.my_input }}
Improve that env context is now not defined in values of env:, id: and uses:. actionlint now reports usage of env context in such places as type errors. (#158)
runs-on: ubuntu-latestenv:
FOO: aaasteps:
# ERROR: 'env' context is not defined in values of 'env:', 'id:' and 'uses:'
- uses: test/${{ env.FOO }}@mainenv:
BAR: ${{ env.FOO }}id: foo-${{ env.FOO }}
actionlint command gains -stdin-filename command line option. When it is specified, the file name is used on reading input from stdin instead of <stdin>. (#157, thanks @arahatashun)
# Error message shows foo.yml as file name where the error happened
... | actionlint -stdin-filename foo.yml -
The download script allows to specify a directory path to install actionlint executable with the second argument of the script. For example, the following command downloads /path/to/bin/actionlint:
# Downloads the latest stable version at `/path/to/bin/actionlint`
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) latest /path/to/bin
# Downloads actionlint v1.6.14 at `/path/to/bin/actionlint`
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) 1.6.14 /path/to/bin
Update popular actions data set including goreleaser-action@v3, setup-python@v4, aks-set-context@v3.