Skip to content

The scorecard workflow has never run; make it triggerable and record why - #73

Merged
HackTuah merged 1 commit into
mainfrom
fix/scorecard-dispatch
Sep 23, 2026
Merged

HackTuah merged 1 commit into
mainfrom
fix/scorecard-dispatch

Conversation

@HackTuah

Copy link
Copy Markdown
Member

This workflow was added alongside the OpenSSF badge work and has never run once. Four startup_failure results, no job, no log, and the message "This run likely failed because of a workflow file issue."

The file was not the issue

  • actionlint passes it.
  • All three pinned commits resolve (ossf/scorecard-action v2.4.4, github/codeql-action, actions/checkout).
  • Three stripped-down copies pushed to a throwaway branch failed identically — including one that was nothing but a checkout and the action, with no workflow-level permissions block and no other triggers.

The cause

The repository's Actions policy:

{"allowed_actions": "selected"}
{"github_owned_allowed": true,
 "patterns_allowed": ["erlef/setup-beam@*", "mlugg/setup-zig@*"],
 "verified_allowed": false}

ossf/scorecard-action is neither GitHub-owned nor was it listed, so the run was refused before a job existed. Every other action in this tree lives under actions/ or github/, which is why nothing else ever hit it. The allow-list has since been corrected to include ossf/scorecard-action@*.

What this change does

workflow_dispatch. A run that ends in startup_failure cannot be re-run, and the only other triggers were a push to the default branch and a weekly schedule — so every attempt to diagnose this cost a commit on main. A workflow that cannot be triggered on demand is a workflow that cannot be tested, which is how it stayed broken from the day it landed.

The diagnosis, in a comment at the top of the file. The next action added from a new owner will hit the same wall, and the message GitHub gives points at the wrong file. Adding an action from a new owner to any workflow in this repository requires adding it to the allow-list, or the workflow silently never starts.

Evidence

mix test test/workflows_test.exs — 3 passed (every action still pinned to a 40-character commit SHA; both workflows still parse as YAML). The full gate runs on this PR.

… ran

From the day it was added until today this workflow never ran once: four
startup_failure results with no job, no log, and the message "This run likely
failed because of a workflow file issue".

The file was not the issue. actionlint passed it, all three pinned commits
resolved, and three stripped-down copies on a throwaway branch failed
identically, including one that was nothing but a checkout and the action. The
cause was the repository's Actions policy: allowed_actions was 'selected' with
GitHub-owned actions and two setup-* patterns permitted, and
ossf/scorecard-action is neither GitHub-owned nor was it listed, so the run was
refused before a job existed. Every other action in this tree lives under
actions/ or github/, which is why nothing else ever hit it. The allow-list has
since been corrected.

Two changes here. workflow_dispatch, because a run that ends in startup_failure
cannot be re-run and the only other triggers were a push to main and a weekly
schedule, so every attempt to diagnose this cost a commit on the default branch;
a workflow that cannot be triggered on demand is a workflow that cannot be
tested, which is how it stayed broken. And the diagnosis itself, in a comment at
the top, because the next action added from a new owner will hit the same wall
and the message GitHub gives points at the wrong file.

Signed-off-by: Ayla Croft <aylacroft@proton.me>
@HackTuah
HackTuah force-pushed the fix/scorecard-dispatch branch from 55a25fc to e302c92 Compare September 23, 2026 19:13
@HackTuah
HackTuah merged commit e59e1b0 into main Sep 23, 2026
8 checks passed
@HackTuah
HackTuah deleted the fix/scorecard-dispatch branch September 23, 2026 19:19
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