Repository navigation
chore(deps): update dependency jactionlint to v2.5.0 - #1139
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.4.0→2.5.0Release Notes
jdx/jactionlint (jactionlint)
v2.5.0: : Run workflows locally with jactionlint runCompare Source
jactionlint 2.5.0 adds
jactionlint run, which runs the jobs of a workflow on your machine inside an OS sandbox, without a container engine. It also adds theunreachable-required-checkrule, fixes twounpinned-imagesissues, and accepts theapmDependabot ecosystem.Added
jactionlint run: run workflows locallyjactionlint runlets you debug arun:script, an expression, a matrix or theneedswiring without pushing a commit. It shows what happened on your machine, not whether the workflow will pass on GitHub. Every skip or refusal is printed with its reason, and the run guide has a "Differences from GitHub" table. The workflow is first linted with thecorrectnessprofile, and the run stops on an error (--no-lintskips the lint). (#316, #317, #319, #320, #321, #322, #323, #324, @jdx)--list(--jsonfor JSON) groups jobs into stages and expands matrices the way the runner does:exclude, theninclude. It evaluatesname:,runs-on:and jobif:expressions that it can, and marks each oneif is trueorif is false. Thegithubcontext comes from git,-i NAME=VALUEsetsworkflow_dispatchinputs, and--event-filesuppliesgithub.event. A matrix built fromneedsoutputs shows as "known at run time".run:steps withshell,working-directory,defaults.run, layeredenv,timeout-minutesandcontinue-on-error. Also supported: step and job outputs,needs.*.result, matrices withfail-fast, background andparallel:steps, theGITHUB_ENV/PATH/OUTPUT/STATE/STEP_SUMMARYfile commands and workflow commands. Values from--secretand::add-mask::show as***in all output. Jobs whoseruns-onnames a different OS are skipped. Ctrl-C cancels the steps, and steps withif: always()still run.pre/post) and local or remote reusable workflows. If no Node.js onPATHhas the right major version, jactionlint downloads it and checks it against the release'sSHASUMS256.txt. Remote actions and reusable workflows must be pinned to a commit SHA. Use--trust-actionsto resolve a tag or branch and print the commit it picked.actions/checkout,upload-artifactanddownload-artifactare replaced with local versions. Use--no-shim ACTIONto run the real action.127.0.0.1works with unmodifiedactions/cache,setup-*,jdx/mise-actionand other actions built on@actions/cache, so a second run restores instead of downloading again. Caches are scoped to the ref and fall back to the default branch. Entries expire after 7 days, and the store has a 10 GB LRU limit (--cache-size). Related options:--cache=read-only|off,--no-cache,--cache-dir. Manage the store withjactionlint cache ls|rm|prune|path.--net=openis the default.--net=noneblocks internet sockets.--net=proxyallows only a proxy that lets through GitHub and the common package registries. It needs Landlock ABI 4, which is Linux 6.7 or later.--allow-net HOST,...adds hosts, and--learnprints the hosts your steps contacted.container:jobs,services:and Docker actions run throughdockerorpodman(--container-engine). By default all capabilities are dropped except nine, andno-new-privilegesis set. jactionlint never runs privileged containers or mounts the host home or Docker socket. Images must be pinned by digest unless you pass--trust-images.options:is checked against an allow list:--privileged,--cap-add,-v,--network hostand similar options are refused unless you pass--unsafe-container-options. Use--containerto run Linux matrix cells in a digest-pinnedubuntuimage, for example from a Mac. If no engine is installed, or you pass--no-containers, only the jobs and steps that need a container are skipped.--parallel Nruns matrix cells and independent jobs at the same time. It respectsneedsandmax-parallel, and prints each job's output in one block.(jactionlint run --explain ID)have a longer explanation.jactionlint run --explain listlists all of them.Isolation and platform support: Each step runs with a filtered environment, a throwaway home, and a per-job copy of the workspace. Your checkout and real home cannot be read or written. Use
--in-placeto work in your checkout,--allow-read/--allow-write DIRto open more paths, and--sandbox=offto turn the sandbox off. If the sandbox can't be applied, the step does not run.sandbox-exec. This backend is new and has had much less use than the Linux one.New rule:
unreachable-required-checkThe new
unreachable-required-checkrule reports a required check that no workflow will report for a change. GitHub waits forever for such a check, and the pull request cannot merge. Common causes are a missingmerge_grouptrigger, abranchesfilter that leaves out the protected branch, and apathsfilter that skips a README-only change. (#331, @mariusvniekerk)The rule turns on in every profile when
required-checksis in the config file:It reads every workflow in
.github/workflows, so it doesn't report GitHub's workaround of a second workflow with the oppositepathsfilter. Each finding is placed where the fix goes: the config declaration (with a "did you mean" suggestion),on:, or the filter. When the answer depends on something the rule doesn't evaluate, it reports at levelinfoand gives the reason. It does not read branch protection or rulesets from GitHub, so keep the list in sync with your repository settings. To turn the rule off, setrules: {unreachable-required-check: off}.Fixed
unpinned-imagesnow treats images built by drop-in forks ofdocker/build-push-actionas local, the same as the original:useblacksmith/build-push-action,depot/build-push-actionandwarpbuilds/build-push-action. A laterdocker runof the image's tag is no longer reported. Other actions that take atags:input are still reported. (#328, @jdx, @tedserbinski)unpinned-imagesnow only treats an image as local when the same job builds, tags or loads it. Each job runs on its own runner, sodocker run app:ciin a job that doesn't buildapp:cipulls the image from the registry. That use is now reported. Previously, a build anywhere in the workflow hid the finding in every job. (#329, @jdx, @tedserbinski)dependabot-syntaxacceptspackage-ecosystem: apm(Agent Package Manager), which GitHub added on November 3, 2026. (#333, @frottke)New Contributors
4d0fcf6(#328)Full Changelog: jdx/jactionlint@v2.4.0...v2.5.0
💚 Sponsor jactionlint
jactionlint is a fork of rhysd/actionlint, maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work.
If jactionlint has a place in your development workflow, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep jactionlint fast, free, and independent.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.