Commit b3970f2
ci(scorecards): mirror ephapax#264 — startup_failure + webapp 400 (#178)
## Summary
Two estate-wide failures landed in
[hyperpolymath/ephapax#264](hyperpolymath/ephapax#264)
(merged 2026-06-01 11:59Z). boj-server carries the same two failures
with the same workflow shape. This PR mirrors the ephapax fix verbatim
so the two sibling repos stay in sync.
### \`scorecard.yml\` — caller alignment (startup_failure)
| Caller divergence | Was | Now |
|---|---|---|
| Concurrency | missing | \`group: \${{ github.workflow }}-\${{
github.ref }}\` |
| Trigger | \`branch_protection_rule:\` present (unused) | dropped;
\`workflow_dispatch:\` added |
| Secrets | \`secrets: inherit\` | dropped (reusable has no \`secrets:\`
block) |
| Permissions | \`permissions: read-all\` | \`permissions: contents:
read\` |
Pattern now matches the canonical caller example in
\`standards/.github/workflows/scorecard-reusable.yml\` verbatim. SHA pin
unchanged.
### \`scorecard-enforcer.yml\` — two-job split (webapp 400)
Score was being computed (typical ~5.5), but the OSSF Scorecard webapp
HTTP-400'd the signed-result POST because the publishing job contained a
\`run:\` step. Per
[ossf/scorecard-action#workflow-restrictions](https://github.com/ossf/scorecard-action#workflow-restrictions):
> scorecard job must only have steps with \`uses\`
Split into:
- **\`scorecard\`** (uses-only): runs scorecard-action with publish,
uploads SARIF, saves results.sarif as an artifact.
- **\`enforce-min-score\`** (\`needs: scorecard\`): downloads the
artifact, runs the bash min-score gate. \`run:\` steps are fine here —
it doesn't call scorecard-action.
- **\`check-critical\`** unchanged (already
uses-only-or-not-scorecard-publishing).
Action SHA pins verified via \`gh api\`
(\`actions/upload-artifact@4cec3d8\` +
\`actions/download-artifact@cc20338\`).
## Test plan
- [x] YAML parses (\`yaml.safe_load_all\` confirmed; scorecard.yml = 1
job \`analysis\`, scorecard-enforcer.yml = 3 jobs
\`scorecard\`/\`enforce-min-score\`/\`check-critical\`)
- [ ] CI on this PR shows \`Scorecards supply-chain security\` no longer
in \`startup_failure\`
- [ ] CI on this PR shows \`OpenSSF Scorecard Enforcer\` runs the
publish step without HTTP 400
- [ ] Post-merge, the next main run of both workflows goes green (or at
minimum exits the \`startup_failure\` / \`failure\` regression states
they've been in since the workflows were added)
Refs hyperpolymath/ephapax#264
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 8694c0b commit b3970f2
2 files changed
Lines changed: 66 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
3 | 28 | | |
4 | 29 | | |
5 | 30 | | |
| |||
43 | 68 | | |
44 | 69 | | |
45 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
46 | 87 | | |
47 | 88 | | |
48 | | - | |
| 89 | + | |
49 | 90 | | |
50 | 91 | | |
51 | 92 | | |
52 | 93 | | |
53 | | - | |
| 94 | + | |
54 | 95 | | |
55 | 96 | | |
56 | 97 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
2 | 15 | | |
3 | 16 | | |
4 | 17 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 18 | | |
9 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
10 | 27 | | |
11 | | - | |
| 28 | + | |
| 29 | + | |
12 | 30 | | |
13 | 31 | | |
14 | 32 | | |
15 | 33 | | |
16 | 34 | | |
17 | 35 | | |
18 | 36 | | |
19 | | - | |
| |||
0 commit comments