Skip to content

Commit d59709a

Browse files
authored
ci: pin actions to SHAs and add least-privilege permissions (#20)
§5.3 hardening — SHA-pin build workflows + add top-level contents:read permissions and concurrency to ci.yml
1 parent eb42e79 commit d59709a

3 files changed

Lines changed: 17 additions & 10 deletions

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ on:
77
branches: [main]
88
merge_group:
99

10+
permissions:
11+
contents: read
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: true
16+
1017
env:
1118
GRADLE_CACHE_URL: ${{ secrets.GRADLE_CACHE_URL }}
1219
GRADLE_CACHE_USERNAME: ${{ secrets.GRADLE_CACHE_USERNAME }}
@@ -20,14 +27,14 @@ jobs:
2027
matrix:
2128
gradle: ['9.5.1']
2229
steps:
23-
- uses: actions/checkout@v7
30+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2431

25-
- uses: actions/setup-java@v5
32+
- uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
2633
with:
2734
distribution: 'temurin'
2835
java-version: '17'
2936

30-
- uses: gradle/actions/setup-gradle@v6
37+
- uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
3138
with:
3239
gradle-version: ${{ matrix.gradle }}
3340

@@ -36,7 +43,7 @@ jobs:
3643

3744
- name: Upload test reports
3845
if: failure()
39-
uses: actions/upload-artifact@v7
46+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
4047
with:
4148
name: test-reports-gradle-${{ matrix.gradle }}
4249
path: plugin/build/reports/

.github/workflows/publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ jobs:
1111
permissions:
1212
contents: read
1313
steps:
14-
- uses: actions/checkout@v7
14+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
1515

16-
- uses: actions/setup-java@v5
16+
- uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
1717
with:
1818
distribution: 'temurin'
1919
java-version: '17'
2020

21-
- uses: gradle/actions/setup-gradle@v6
21+
- uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
2222

2323
- name: Build & Test
2424
run: ./gradlew :plugin:build :plugin:functionalTest --stacktrace

.github/workflows/snapshot.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ jobs:
1111
permissions:
1212
contents: read
1313
steps:
14-
- uses: actions/checkout@v7
14+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
1515

16-
- uses: actions/setup-java@v5
16+
- uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
1717
with:
1818
distribution: 'temurin'
1919
java-version: '17'
2020

21-
- uses: gradle/actions/setup-gradle@v6
21+
- uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6.2.0
2222

2323
- name: Build & Test
2424
run: ./gradlew :plugin:build :plugin:functionalTest --stacktrace

0 commit comments

Comments
 (0)