Skip to content

Commit c24ba23

Browse files
Eric Migicovskyclaude
andcommitted
ci: only auto-run release-QA for org members / collaborators
Gate dispatch-release-qa on author_association (OWNER/MEMBER/COLLABORATOR) so an outside contributor's PR can't spend the single hardware lab. Combined with the existing same-repo (non-fork) check. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Eric Migicovsky <eric@repebble.com>
1 parent 427a85a commit c24ba23

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

.github/workflows/build-firmware.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,10 +201,14 @@ jobs:
201201
# only (forks have no secrets); needs UNICORN_DISPATCH_TOKEN — a PAT with actions:write on unicorn.
202202
dispatch-release-qa:
203203
needs: build-qa-firmware
204+
# Org members / collaborators only: author_association is MEMBER for org members, OWNER for the
205+
# repo owner, COLLABORATOR for added collaborators — external contributors (CONTRIBUTOR/NONE) are
206+
# excluded, so an outside PR can't spend the hardware lab.
204207
if: >-
205208
github.event_name == 'pull_request' &&
206209
needs.build-qa-firmware.result == 'success' &&
207-
github.event.pull_request.head.repo.full_name == github.repository
210+
github.event.pull_request.head.repo.full_name == github.repository &&
211+
contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.pull_request.author_association)
208212
runs-on: ubuntu-24.04
209213
# One in-flight QA per PR: a newer push supersedes the older dispatch instead of queueing extras.
210214
concurrency:

0 commit comments

Comments
 (0)