Repository navigation
v0.1.3
loopt lint now catches the mistakes that previously only surfaced after a push, and can verify your pinned actions against GitHub.
Correctness checks
Triggers (#1)
preloop/unknown-event,preloop/unknown-activity-type: misspelled events andtypes:values (pull_request: types: [opend])preloop/invalid-event-filter: filters on events that ignore them;brancheswithbranches-ignoreon the same eventpreloop/invalid-glob: malformed branch, tag and path filterspreloop/invalid-cron,preloop/cron-too-frequent: schedules GitHub rejects or throttlespreloop/invalid-dispatch-input: badworkflow_dispatch/workflow_callinputs, outputs and secrets
Expression references (#2)
preloop/undefined-step-reference,preloop/undefined-needs-reference,preloop/undefined-matrix-key,preloop/undefined-input: typo'dsteps.*,needs.*.outputs.*,matrix.*andinputs.*preloop/unavailable-context: contexts used where GitHub doesn't provide them (for examplesecretsin a jobif:)preloop/unknown-context-property: unknowngithub.*,runner.*,job.*andstrategy.*properties
Jobs and steps (#3)
preloop/unknown-key: keys GitHub ignores, with a "did you mean" hint (runs_on→runs-on)preloop/unknown-runner-label:runs-onlabels that match no GitHub-hosted runner (unless you pass a runner inventory with--context)preloop/floating-runner-image(info):*-latestimages that move between OS versionspreloop/invalid-shell,preloop/invalid-permission,preloop/invalid-id,preloop/invalid-env-namepreloop/deprecated-command:::set-output,::save-state,::set-env,::add-pathpreloop/constant-condition:if:conditions that are always true or always false
Security
dangerous-checkout:actions/checkoutwithallow-unsafe-pr-checkoutenabled (#5)loopt lint --onlinechecks everyuses:against GitHub throughgh:impostor-commit,ref-confusion,known-vulnerable-actions,archived-uses,ref-version-mismatchandstale-action-refs. Without--online, these report as unavailable, as before. (#5)
CI
- CI now runs the vendored crates' unit tests (#4).