Skip to content

Commit 2fa01ab

Browse files
committed
ci: harden package release controls [skip ci]
1 parent b29d1a5 commit 2fa01ab

2 files changed

Lines changed: 32 additions & 9 deletions

File tree

‎.github/workflows/maven-packages.yml‎

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,28 @@ on:
88
- "v[0-9]+*"
99
workflow_dispatch:
1010

11+
permissions:
12+
contents: read
13+
1114
jobs:
1215
build:
16+
if: >-
17+
github.repository == 'WaveSpeedAI/wavespeed-java' &&
18+
(github.event_name == 'push' || github.event_name == 'workflow_dispatch') &&
19+
(github.ref == 'refs/heads/main' ||
20+
(github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v')))
21+
environment: package-build
1322
runs-on: ubuntu-latest
1423

1524
steps:
1625
- name: Checkout code
17-
uses: actions/checkout@v4
26+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
1827
with:
1928
fetch-depth: 0 # for tags
29+
persist-credentials: false
2030

2131
- name: Set up JDK 17
22-
uses: actions/setup-java@v4
32+
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4
2333
with:
2434
java-version: '17'
2535
distribution: 'temurin'
@@ -34,7 +44,7 @@ jobs:
3444
WAVESPEED_API_KEY: ${{ secrets.WAVESPEED_API_KEY }}
3545

3646
- run: ls -lh target/*.jar
37-
- uses: actions/upload-artifact@v4
47+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
3848
with:
3949
name: maven-packages
4050
path: |
@@ -44,15 +54,22 @@ jobs:
4454
gh_release:
4555
name: gh_release
4656
needs: build
57+
if: >-
58+
github.repository == 'WaveSpeedAI/wavespeed-java' &&
59+
github.event_name == 'push' &&
60+
(github.ref == 'refs/heads/main' ||
61+
(github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v')))
62+
environment: github-release
4763
runs-on: ubuntu-latest
48-
permissions: write-all
64+
permissions:
65+
contents: write
4966

5067
timeout-minutes: 60
5168
defaults:
5269
run:
5370
shell: bash
5471
steps:
55-
- uses: actions/download-artifact@v4
72+
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
5673
with:
5774
path: dist
5875

@@ -61,7 +78,7 @@ jobs:
6178
# create nightly release if it's a push to main
6279
- if: github.repository == 'WaveSpeedAI/wavespeed-java' && github.event_name == 'push' && github.ref == 'refs/heads/main'
6380
name: Nightly Release
64-
uses: andelf/nightly-release@v1
81+
uses: andelf/nightly-release@c5ed4bdb7c1da04a4fa1e40bc5e67306f682563b # v1
6582
env:
6683
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6784
with:
@@ -75,7 +92,7 @@ jobs:
7592
# create release if it's a tag like vx.y.z
7693
- if: github.repository == 'WaveSpeedAI/wavespeed-java' && github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v')
7794
name: Release
78-
uses: softprops/action-gh-release@v1
95+
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
7996
with:
8097
files: |
8198
dist/*/*.jar

‎.github/workflows/maven-publish.yml‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,21 @@ permissions:
1212

1313
jobs:
1414
deploy:
15+
if: >-
16+
github.repository == 'WaveSpeedAI/wavespeed-java' &&
17+
((github.event_name == 'release' && github.ref_type == 'tag' &&
18+
startsWith(github.ref, 'refs/tags/v')) ||
19+
(github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main'))
1520
runs-on: ubuntu-latest
1621
steps:
1722
- name: Checkout code
18-
uses: actions/checkout@v4
23+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
1924
with:
2025
fetch-depth: 0 # for tags
26+
persist-credentials: false
2127

2228
- name: Set up JDK 17
23-
uses: actions/setup-java@v4
29+
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4
2430
with:
2531
java-version: '17'
2632
distribution: 'temurin'

0 commit comments

Comments
 (0)