Fixed
-
zizmor-sarif.ymlnever declared theactions: readits SARIF upload
needs.github/codeql-action/upload-sarifreads the workflow run, so it
requiresactions: read;public-codeql.yml— the other SARIF uploader here —
declares it, and this one did not. The incomplete set had propagated into
catalog/capabilities.ymland all four examples that call it. Consumers saw
the scan succeed and the upload fail withResource not accessible by integration; observed ongithub-device-sync, red since adoption. Reusable,
catalog, examples and this repository's ownci.ymlcaller now declare the
same set.A caller cannot grant a reusable less than the reusable declares, so the token
comes from the called workflow: a consumer cannot work around this by adding
the permission to its own caller — it needs a release carrying the fix.
Added
public-scorecard.ymlwas the only reusable without a copy-paste example.
examples/public-oss/scorecard.ymlcovered the JSON variant only, so the
SARIF-uploading variant — the one that needssecurity-events: writeand
turns Scorecard findings into persistent code-scanning alerts — had no
validated caller. Addsexamples/public-oss/scorecard-sarif.yml, including
the reason to pick one variant over the other and the shared trigger
constraint. Every reusable now has an example.