ci: Set workflow-level read permissions for QA workflow
Metadata
Current evaluation
PR #487 merged: added workflow-level read permissions (actions, contents, pull-requests) to .github/workflows/qa.yaml so canonical/starflow reusable workflows compile; approved with all CI checks green (+5/-0 lines, 1 file).
Resolution: closed resolved
Reason: The pull request itself was merged into main after approval, fixing QA workflow compilation failures caused by missing pull-requests: read scope. Diff was a 5-line top-level permissions block plus removal of job-local overrides under lint:, with all checks passing.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The QA workflow invokes reusable workflows from `canonical/starflow` (such as `lint-python.yaml`), which require read access for repository contents and pull request metadata.
Because these scopes are purely read-only, this updates `.github/workflows/qa.yaml` to configure workflow-level read permissions:
- `actions: read`
- `contents: read`
- `pull-requests: read`
• **What changed**:
• Added a top-level `permissions` block with read scopes for actions, contents, and pull requests.
• Removed job-local permission overrides under `lint:` so jobs inherit these scopes cleanly.
• **Why this matters**:
• Resolves workflow compilation failures on pull request runs where Starflow reusable workflows require `pull-requests: read`.
• Follows the workflow-level read-only permission pattern used across Starflow-enabled repositories.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | PR #487 merged: added workflow-level read permissions (actions, contents, pull-requests) to .github/workflows/qa.yaml so canonical/starflow reusable workflows compile; approved with all CI checks green (+5/-0 lines, 1 file). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged the QA workflow permissions update, adding read access for actions, contents and pull requests for canonical/starflow reusable workflows. Approval completed and all CI checks passed. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged workflow-level read permissions for QA, granting actions, contents and pull-request access so Starflow reusable workflows can compile on pull request runs. | |
| qwen/qwen3.6-35b-a3b |
Impact:
35
Quick Win:
22
Complexity:
10
Confidence:
80
Actionability:
70
|
keep open | Adds explicit job-level permissions (contents: read, pull-requests: read) to the lint job in .github/workflows/qa.yaml to fix reusable workflow access. One CI check failing (PR title format). |
Update history
| Date | Change |
|---|---|
| updated | |
| closed | |
| updated | |
| updated | |
| updated | |
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #194 ci: Set workflow-level read permissions for QA workflow | debcraft | merged | PR #194 merged: added workflow-level read permissions (actions, contents, pull-requests) to .github/workflows/qa.yaml and removed lint job-level overrides, fixing Starflow reusable workflow compilation on PRs. | |
| #94 ci: Set workflow-level read permissions for QA workflow | craft-artifacts | merged | Merged PR #94 as df2d092, adding workflow-level read permissions for actions, contents, and pull requests so QA's Starflow reusable workflows can access required metadata. | |
| #428 ci: Set workflow-level read permissions for QA workflow | craft-store | merged | Merged as commit 4aabe63: .github/workflows/qa.yaml now sets workflow-level read permissions (actions, contents, pull-requests) and drops job-local lint overrides, fixing Starflow QA workflow failures on PRs. | |
| #1016 ci: Set workflow-level read permissions for QA workflow | craft-providers | merged | Merged to main via commit a533e67 "ci: Add missing permissions to QA workflow (#1016)", adding workflow-level read permissions (actions, contents, pull-requests) to .github/workflows/qa.yaml. | |
| #257 ci: Set workflow-level read permissions for QA workflow | craft-archives | merged | PR #257 by lengau merged as commit 7179169: moved QA workflow permissions to workflow-level read scopes (actions, contents, pull-requests) and dropped job-local lint overrides, fixing Starflow reusable workflow compilation on PRs. | |
| #557 ci: set read permissions for qa workflow | starbase | merged | Merged PR #557 as commit cd8d487, granting the QA workflow read-only contents and pull-request permissions so paths-filter can access GitHub APIs. | |
| #1371 ci: add explicit permissions on QA workflow | rockcraft | closed | Merged explicit read permissions for actions, contents, and pull requests into the QA workflow in commit 559eb218, enabling Starflow path-filter jobs. | |
| #1731 ci: fix permissions for QA workflow | craft-parts | closed | Closed unmerged after approval: #1731 proposed explicit read permissions for incoming Starflow QA jobs, but no resolving commit landed and remaining CI checks never completed. | |
| #256 ci: Add missing permissions to QA lint workflow | craft-archives | merged | Job-level lint permissions PR closed as redundant by maintainer lengau: workflow-level read permissions already configured on main; superseded by merged PR #257 setting workflow-level read permissions. | |
| #2885 ci: Fix QA reusable workflow permissions for Starflow lint | charmcraft | closed | Closed unmerged as redundant after canonical/starbase#557 merged cd8d4873, adding read-only QA permissions upstream and restoring reusable Starflow lint execution. |