fix(ci): repair unparseable permissions scalar (2 workflow file(s)) - #121
Conversation
A scalar `permissions: read-all` followed by an indented ` actions: read` is a YAML parse error, so the workflow never starts. It emits no check run at all, which means a required context silently never reports and the repository looks greener than a repaired one. `read-all` already grants `actions: read`, so deleting the stray line is a semantic no-op. Verified with a real parser: each file fails `yq` before the change and parses after it. Files: e2e.yml scorecard.yml Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0178nN4Nm3neFRy5K9StZKnB
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (22)
|
| Layer / File(s) | Summary |
|---|---|
Update workflow permissions .github/workflows/e2e.yml |
The workflow-level permission mapping changes from actions: read to read-all. |
Priority: ➖ Normal
Estimated code review effort: 1 (Trivial) | ~2 minutes
Change: Bug fix
Suggested reviewers: metadatastician
Merge Risk: ⚪ Minimal · up to a7091
The workflow remains configured with read-only token access and has no identified merge-blocking risk.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description check | ✅ Passed | The description directly explains the YAML parse error, the permission change, the affected workflow files, and the verification performed. |
| Title check | ✅ Passed | The title clearly identifies a CI fix for an unparseable permissions scalar and states that two workflow files are affected. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0… |
| Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
- Create stacked PR
- Commit on current branch
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
A rabbit checks the workflow door
Read-only keys now reach each scope
The end-to-end path hops ahead
No write permission marks the way
Soft paws approve the change
Comment @coderabbitai help to get the list of available commands.
scorecard.yml is already repaired on branch fix/repair-startup-dead-scorecard-yml (PR #120), which re-indents `actions: read` INTO the analysis job's own permissions block. That is the correct cure: job-level permissions REPLACE the top-level map, so the analysis job never inherited `read-all` and Scorecard was running without `actions: read`. Deleting the stray line made the file parse but left the job functionally short. Restoring this file from main so PR #120 owns it uncontested. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0178nN4Nm3neFRy5K9StZKnB
|




permissions: read-allfollowed by an indentedactions: readis a YAMLparse error. The workflow never starts, so it emits no check run — a
required context silently never reports, and this repository currently looks
greener than a repaired one.
read-allalready grantsactions: read, so removing the stray line is asemantic no-op. Each file was verified with a real YAML parser: it fails
yqbefore the change and parses after it. Every diff is exactly one deleted line.Files changed: e2e.yml scorecard.yml
Measured estate-wide: 42 such files across 28 repositories on
main, allcarrying the identical stray key. Zero overlap with the TokenPermissions sweep.
🤖 Generated with Claude Code
https://claude.ai/code/session_0178nN4Nm3neFRy5K9StZKnB