fix: add actions: read to smoke-trigger and smoke-multi-caller caller permissions - #47721
Conversation
… permissions Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
actions: read to smoke-trigger and smoke-multi-caller caller permissions
🤖 PR Triage
Score breakdown: Impact 35 · Urgency 22 · Quality 11 Summary: Minimal, high-confidence permissions fix that stops Next action: Undraft → CI → fast-track human review.
|
There was a problem hiding this comment.
Pull request overview
Adds required actions: read permissions to reusable smoke workflow callers, preventing startup failures.
Changes:
- Updates Smoke Trigger’s caller permissions.
- Updates all three Smoke Multi Caller jobs.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/smoke-trigger.yml |
Grants required Actions read access. |
.github/workflows/smoke-multi-caller.yml |
Grants Actions read access to all caller jobs. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Medium
|
🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅ |
|
✅ PR Code Quality Reviewer completed the code quality review. |
|
✅ Design Decision Gate 🏗️ completed the design decision gate check. No ADR enforcement needed: PR does not have the 'implementation' label and has ≤100 new lines of code in business logic directories (0 lines detected). |
|
✅ Test Quality Sentinel completed test quality analysis. No test files were added or modified in this PR. Test Quality Sentinel skipped. PR #47721 only modifies workflow YAML files (.github/workflows/smoke-*.yml) to add permissions. |
There was a problem hiding this comment.
The fix is correct. Both smoke-trigger.yml and smoke-multi-caller.yml were missing actions: read in their caller job permissions, causing GitHub Actions to fail with startup_failure before even evaluating if: conditions. Adding the permission to all four affected jobs is the right surgical fix. smoke-water.yml already had this permission and is unaffected.
🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · sonnet46 · 12.9 AIC · ⌖ 4.46 AIC · ⊞ 5K
There was a problem hiding this comment.
Skills-Based Review 🧠
Applied /diagnosing-bugs — changes look correct and complete.
📋 Summary
- ✅ Root cause correctly identified: GitHub Actions validates called-workflow job permissions against caller permissions before evaluating
if:conditions, causingstartup_failureinstead ofskipped. - ✅ Fix applied consistently to all three jobs in
smoke-multi-caller.ymland the single job insmoke-trigger.yml. - ✅
smoke-water.ymlcorrectly left untouched — it already hadactions: read. - No test coverage concern: these are CI smoke workflows; the fix self-validates on the next PR label event.
🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · sonnet46 · 14.7 AIC · ⌖ 4.51 AIC · ⊞ 6.7K
Comment /matt to run again
There was a problem hiding this comment.
✅ Approved — minimal, correct permission fix
Adds actions: read to the 4 caller jobs that were missing it. GitHub Actions validates called-workflow job permissions against the caller-granted set before evaluating if: conditions, so the missing permission was the confirmed cause of startup_failure on label events.
- All three jobs in
smoke-multi-caller.ymlpatched symmetrically. smoke-trigger.ymlpatched.smoke-water.ymlcorrectly left untouched (already had the permission).actions: readis least-privilege (read-only). No logic, conditionals, or interpolation introduced.
No blocking issues found.
🔎 Code quality review by PR Code Quality Reviewer · sonnet46 · 19.4 AIC · ⌖ 4.5 AIC · ⊞ 5.7K
Comment /review to run again
🤖 PR Triage
Rationale: Tiny 2-file fix (+4/-0) that unblocks every PR label event triggering smoke tests. High urgency —
|
|
🎉 This pull request is included in a new release. Release: |
smoke-triggerandsmoke-multi-callerhave been producingstartup_failureon every PR label event because theactivationjob inside the called reusable workflows (smoke-workflow-call.lock.yml,smoke-workflow-call-with-inputs.lock.yml) declarespermissions: actions: read, but neither caller was granting it. GitHub Actions validates called-workflow job permissions against the caller's granted permissions before evaluatingif:conditions, so even label events that would have skipped the job causestartup_failureinstead ofskipped.smoke-water.ymlwas unaffected — it already hadactions: read.Changes
smoke-trigger.yml— addactions: readtocall-smoke-workflow-calljob permissionssmoke-multi-caller.yml— addactions: readto all three caller jobs (task-a,task-b,task-c)