Skip to content

Commit ea41344

Browse files
fix(ci): set explicit workflow permissions for Scorecard compliance
- pr-tests.yml: Set explicit permissions at workflow level, jobs restrict further - unity-tests.yml: Set explicit permissions for reusable workflow Using read-all at workflow level prevents jobs from getting write permissions. Instead, set maximum needed permissions at workflow level and let jobs restrict. Signed-off-by: JasonXuDeveloper <jasonxudeveloper@gmail.com> Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
1 parent 8f176a1 commit ea41344

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

.github/workflows/pr-tests.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,20 @@ concurrency:
1212
group: pr-tests-${{ github.event.pull_request.number }}
1313
cancel-in-progress: true
1414

15+
# Workflow-level permissions set to maximum needed by any job
16+
# Individual jobs further restrict to only what they need
1517
permissions:
1618
contents: read
17-
pull-requests: write
19+
checks: write
1820
statuses: write
21+
pull-requests: write
1922

2023
jobs:
2124
changes:
2225
name: Detect Changes
2326
runs-on: ubuntu-latest
27+
permissions:
28+
contents: read
2429
outputs:
2530
should_test: ${{ steps.filter.outputs.src }}
2631
steps:
@@ -75,6 +80,8 @@ jobs:
7580
needs: [changes, run-tests]
7681
runs-on: ubuntu-latest
7782
if: needs.changes.outputs.should_test == 'true' && needs.run-tests.result == 'success'
83+
permissions:
84+
contents: read
7885
steps:
7986
- name: Checkout repository
8087
uses: actions/checkout@v4

.github/workflows/unity-tests.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ on:
2323
description: 'Test results summary'
2424
value: ${{ jobs.test.outputs.results }}
2525

26+
# Workflow-level permissions for reusable workflow
2627
permissions:
2728
contents: read
2829
checks: write

0 commit comments

Comments
 (0)