v1.7.5
- Strictly check available contexts in
${{ }}placeholders following the 'Context availability' table in the official document.- For example,
jobs.<job_id>.defaults.run.shellallowsenvcontext butshellworkflow keys in other places allow no context.defaults: run: # ERROR: No context is available here shell: ${{ env.SHELL }} jobs: test: runs-on: ubuntu-latest defaults: run: # OK: 'env' context is available here shell: ${{ env.SHELL }} steps: - run: echo hello # ERROR: No context is available here shell: ${{ env.SHELL}}
- For example,
- Check a string literal passed to
fromJSON()call. This pattern is popular to create array or object constants because GitHub Actions does not provide the literal syntax for them. See the document for more details. (#464)jobs: test: # ERROR: Key 'mac' does not exist in the object returned by the fromJSON() runs-on: ${{ fromJSON('{"win":"windows-latest","linux":"ubuntul-latest"}')['mac'] }} steps: - run: echo This is a special branch! # ERROR: Broken JSON string passed to fromJSON. if: contains(fromJSON('["main","release","dev"'), github.ref_name) - Allow passing command arguments to
-shellcheckargument. (#483, thanks @anuraaga)- This is useful when you want to use alternative build of shellcheck like go-shellcheck.
actionlint -shellcheck="go run github.com/wasilibs/go-shellcheck/cmd/shellcheck@latest"
- This is useful when you want to use alternative build of shellcheck like go-shellcheck.
- Support undocumented
repository_visibility,artifact_cache_size_limit,step_summary,output,stateproperties ingithubcontext. (#489, thanks @rasa for addingrepository_visibilityproperty) - Remove
macos-12runner label from known labels because it was dropped from GitHub-hosted runners on Dec. 3 and is no longer available. - Add
windows-2025runner label to the known labels. The runner is in public preview. (#491, thanks @ericcornelissen) - Add
blackto the list of colors forbranding.coloraction metadata. (#485, thanks @eifinger) - Add
tableto the list of icons forbranding.iconaction metadata. - Fix parsing escaped
{informat()function call's first argument. - Fix the incorrect
join()function overload.join(s1: string, s2: string)was wrongly accepted. - Update popular actions data set to the latest.
- Add
download-artifact/v3-node20to the data set. (#468) - Fix missing the
reviewdog/action-hadolint@v1action input. (#487, thanks @mi-wada)
- Add
- Link to the documents of the stable version in actionlint
manpage and-helpoutput. - Refactor
LintStdin()API example and some unit tests. (#472, #475, thanks @alexandear) - Improve the configuration example in
actionlint.yamldocument to explain glob patterns forpaths. (#481)