Skip to content

Commit 8138eef

Browse files
jmeridthclaude
andcommitted
fix: move workflow permissions from job level to workflow level
Job-level permissions are capped by workflow-level permissions. With workflow-level set to only `contents: read`, job-level write permissions were silently capped, breaking actions like markPullRequestReadyForReview. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent faef7c7 commit 8138eef

File tree

7 files changed

+19
-36
lines changed

7 files changed

+19
-36
lines changed

.github/workflows/auto-labeler.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ on:
66
types: [opened, reopened, edited, synchronize]
77
permissions:
88
contents: read
9+
pull-requests: write
910
jobs:
1011
main:
11-
permissions:
12-
contents: read
13-
pull-requests: write
1412
uses: github-community-projects/ospo-reusable-workflows/.github/workflows/auto-labeler.yaml@3b691dff6b68489c8548e1295d125c93c9c29a4e
1513
with:
1614
config-name: release-drafter.yml

.github/workflows/codeql.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,14 @@ on:
2121
- cron: "0 0 * * 1"
2222

2323
permissions:
24+
actions: read
2425
contents: read
26+
security-events: write
2527

2628
jobs:
2729
analyze:
2830
name: Analyze
2931
runs-on: ubuntu-latest
30-
permissions:
31-
actions: read
32-
contents: read
33-
security-events: write
3432

3533
strategy:
3634
fail-fast: false

.github/workflows/mark-ready-when-ready.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ on:
55
types: [opened, edited, labeled, unlabeled, synchronize]
66

77
permissions:
8-
contents: read
8+
checks: read
9+
contents: write
10+
pull-requests: write
11+
statuses: read
912

1013
concurrency:
1114
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
@@ -15,11 +18,6 @@ jobs:
1518
mark-ready:
1619
name: Mark as ready after successful checks
1720
runs-on: ubuntu-latest
18-
permissions:
19-
checks: read
20-
contents: write
21-
pull-requests: write
22-
statuses: read
2321
if: |
2422
contains(github.event.pull_request.labels.*.name, 'Mark Ready When Ready') &&
2523
github.event.pull_request.draft == true

.github/workflows/pr-title.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@ on:
66
types: [opened, reopened, edited, synchronize]
77
permissions:
88
contents: read
9+
pull-requests: read
10+
statuses: write
911
jobs:
1012
main:
11-
permissions:
12-
contents: read
13-
pull-requests: read
14-
statuses: write
1513
uses: github-community-projects/ospo-reusable-workflows/.github/workflows/pr-title.yaml@3b691dff6b68489c8548e1295d125c93c9c29a4e
1614
secrets:
1715
github-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ on:
66
types: [closed]
77
branches: [main]
88
permissions:
9-
contents: read
9+
attestations: write
10+
contents: write
11+
discussions: write
12+
id-token: write
13+
packages: write
14+
pull-requests: read
1015
jobs:
1116
release:
12-
permissions:
13-
contents: write
14-
pull-requests: read
1517
uses: github-community-projects/ospo-reusable-workflows/.github/workflows/release.yaml@3b691dff6b68489c8548e1295d125c93c9c29a4e
1618
with:
1719
publish: true
@@ -20,11 +22,6 @@ jobs:
2022
github-token: ${{ secrets.GITHUB_TOKEN }}
2123
release_image:
2224
needs: release
23-
permissions:
24-
contents: read
25-
packages: write
26-
id-token: write
27-
attestations: write
2825
uses: github-community-projects/ospo-reusable-workflows/.github/workflows/release-image.yaml@3b691dff6b68489c8548e1295d125c93c9c29a4e
2926
with:
3027
image-name: ${{ github.repository }}
@@ -37,9 +34,6 @@ jobs:
3734
image-registry-password: ${{ secrets.GITHUB_TOKEN }}
3835
release_discussion:
3936
needs: release
40-
permissions:
41-
contents: read
42-
discussions: write
4337
uses: github-community-projects/ospo-reusable-workflows/.github/workflows/release-discussion.yaml@3b691dff6b68489c8548e1295d125c93c9c29a4e
4438
with:
4539
full-tag: ${{ needs.release.outputs.full-tag }}

.github/workflows/scorecard.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,13 @@ on:
1515

1616
permissions:
1717
contents: read
18+
id-token: write
19+
security-events: write
1820

1921
jobs:
2022
analysis:
2123
name: Merge to Main Scorecard analysis
2224
runs-on: ubuntu-latest
23-
permissions:
24-
contents: read
25-
security-events: write
26-
id-token: write
2725

2826
steps:
2927
- name: Harden the runner (Audit all outbound calls)

.github/workflows/stale.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ on:
55

66
permissions:
77
contents: read
8+
issues: write
9+
pull-requests: read
810

911
jobs:
1012
stale:
1113
runs-on: ubuntu-latest
12-
permissions:
13-
issues: write
14-
pull-requests: read
1514
steps:
1615
- name: Harden the runner (Audit all outbound calls)
1716
uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1

0 commit comments

Comments
 (0)