Skip to content

fix(security): upload evidence only when the scan ran - #78

Merged
rldyourmnd merged 1 commit into
mainfrom
fix/upload-evidence-only-when-the-scan-ran
Aug 31, 2026
Merged

fix(security): upload evidence only when the scan ran#78
rldyourmnd merged 1 commit into
mainfrom
fix/upload-evidence-only-when-the-scan-ran

Conversation

@rldyourmnd

@rldyourmnd rldyourmnd commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

A job that died in its own bootstrap ended by reporting this:

##[error]Path does not exist: .../_temp/private-security-zizmor.sarif

That is a true statement about a file and a false statement about the run. The real failure was three steps earlier — Fetch exact called-workflow implementation — and the message that reached the reviewer named the wrong thing entirely. Two people independently reported the missing SARIF as the defect; both were reading the last error rather than the first.

The evidence uploads were if: always(), so they ran after a bootstrap that had produced no scanners and no output. They are now guarded on the scan step having run at all:

if: ${{ !cancelled() && steps.scan.conclusion != 'skipped' }}

Evidence is still uploaded when the scan runs and finds problems, which is the case always() existed for.

private-security-bundle-free.yml carried the same guard and had no id on its scan step; it has one now, so the condition resolves there too.

This is the reporting half of #76, which fixed the cause. Together: the bootstrap stops failing one run in five, and when anything else fails the job names the step that failed.

A job that died in its own bootstrap ended by reporting

  ##[error]Path does not exist: .../_temp/private-security-zizmor.sarif

which is a true statement about a file and a false statement about the
run. The real failure was three steps earlier, in `Fetch exact
called-workflow implementation`, and the message that reached the reviewer
named the wrong thing entirely. Two people reported the missing SARIF as
the defect; both were reading the last error rather than the first.

The evidence uploads were `always()`, so they ran after a bootstrap that
produced no scanners and no output. They are now guarded on the scan step
having run at all. Evidence is still uploaded when the scan runs and finds
problems, which is the case `always()` existed for.

private-security-bundle-free.yml carried the same guard and had no id on
its scan step; it has one now, so the condition resolves there too.

This is the reporting half of #76, which fixed the cause. Together the
bootstrap stops failing one run in five, and when anything else fails the
job names the step that failed.
@rldyourmnd
rldyourmnd force-pushed the fix/upload-evidence-only-when-the-scan-ran branch from 15e3362 to bdbcf13 Compare August 31, 2026 10:54
@github-actions github-actions Bot added ci and removed ci labels Aug 31, 2026
@rldyourmnd
rldyourmnd merged commit 706233f into main Aug 31, 2026
46 of 52 checks passed
@rldyourmnd
rldyourmnd deleted the fix/upload-evidence-only-when-the-scan-ran branch August 31, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant