Skip to content

Commit e302c92

Browse files
committed
fix: let the scorecard workflow be triggered, and record why it never 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>
1 parent 9780c3e commit e302c92

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

‎.github/workflows/scorecard.yml‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,27 @@
1010
# configuration and history, which change slowly, and because the analysis reads the GitHub API
1111
# rather than the tree. The results are uploaded to the code-scanning dashboard, so a regression
1212
# in the repository's posture is visible in the same place as a code finding.
13+
#
14+
# History worth keeping, because the failure mode is not obvious and will recur. From the day it
15+
# was added until 2026-09-23 this workflow never ran: four `startup_failure` results with no job,
16+
# no log and the message "This run likely failed because of a workflow file issue". The file was
17+
# not the issue. `actionlint` passed it, all three pinned commits resolved, and three stripped-down
18+
# copies on a throwaway branch failed identically, including one that was nothing but a checkout
19+
# and the action. The cause was the repository's Actions policy: `allowed_actions` was `selected`
20+
# with GitHub-owned actions and two `setup-*` patterns permitted, and `ossf/scorecard-action` is
21+
# neither GitHub-owned nor was it listed, so the run was refused before a job existed. Every other
22+
# action in this tree lives under `actions/` or `github/`, which is why nothing else ever hit it.
23+
# **Adding an action from a new owner to any workflow here requires adding it to that allow-list,
24+
# or the workflow silently never starts.**
1325
name: scorecard
1426

1527
on:
28+
# Added 2026-09-23 after this workflow had failed to start four times in a row without anyone
29+
# being able to retry it: a run that ends in `startup_failure` cannot be re-run, and the only
30+
# other triggers here are a push to the default branch and a weekly schedule, so every attempt
31+
# to diagnose it cost a commit on `main`. A workflow that cannot be triggered on demand is a
32+
# workflow that cannot be tested, which is how it stayed broken from the day it was added.
33+
workflow_dispatch:
1634
branch_protection_rule:
1735
schedule:
1836
# Mondays, 07:00 UTC. A fixed day makes a drop in the score attributable to the week it

0 commit comments

Comments
 (0)