ci/depot

Free catalog · v0.0.35

Reviews Depot CI workflows for security, correctness, reliability, caching, and performance concerns.

Checks

RuleSeverityScans for
depotci.action.unpinnedCriticalExternal action uses mutable reference
depotci.action.unsupported-inputMediumExplicit input absent from a verified pinned action contract
depotci.build.cache-orderMediumDocker/build cache steps ordered incorrectly
depotci.build.mutable-inputMediumMutable build inputs
depotci.cache.lifecycleMediumCache save/restore lifecycle issues
depotci.cache.missingMediumExpected dependency cache missing
depotci.cache.unstable-keyMediumCache key unstable or ineffective
depotci.job.dependency-structureMediumJob dependency structure problems
depotci.job.missing-timeoutMediumJob missing timeout
depotci.permissions.broadCriticalOver-broad token permissions
depotci.pull-request.untrusted-codeCriticalTrusted workflow executes pull-request-controlled code
depotci.release.missing-gateMediumRelease/publish path missing required gates
depotci.runs-on.self-hostedCriticalRisky self-hosted runner usage
depotci.script-injectionCriticalUntrusted context interpolated into shell steps
depotci.secret.scope-broadCriticalSecrets exposed to more jobs/steps than needed
depotci.step.failure-maskedMediumFailure masked (continue-on-error / always without care)
depotci.workflow.concurrencyMediumMissing or weak concurrency controls
depotci.workflow.actionlintMediumVendored actionlint reports invalid workflow syntax, expressions, events, permissions, runner labels, or job wiring
depotci.workflow.redundant-workMediumRedundant work across jobs

depotci.workflow.actionlint runs actionlint 1.7.12 as an offline, portable WebAssembly component. Repository project loading, ShellCheck, and Pyflakes are disabled in the embedded mode; a standalone actionlint CI job can retain those broader integrations.

Pinned action input contracts

depotci.action.unsupported-input is deliberately version-bound. It reports only when an explicit with: key is absent from metadata verified for the exact action commit in uses:. Unknown revisions, action subpaths, aliases or dynamic mappings without an explicit input-key location, and alleged missing inputs fail closed.

For depot/cache-mount@c4ccf77f90f7fa7df6a002813c0b13f6a5943063 (v1.2.1), the verified inputs are path, name, and debug. The action documents a writable multi-write mount; there is no write-lock input. A correctly pinned mount using path and name is therefore quiet, while explicitly passing write-lock is reported as unsupported.

More from the registry