1- name : Gradle - Build & Publish
2-
3- # 触发条件:推送以 v 开头的标签(如 v1.0.0)
1+ name : Publish package to the Maven Central Repository
42on :
53 push :
64 tags :
75 - v*
8-
96jobs :
10- build-and-publish :
11- runs-on : ubuntu-22.04
7+ build :
8+ runs-on : ubuntu-latest
129 steps :
13- # 1. 拉取代码
14- - name : Checkout code
15- uses : actions/checkout@v4
16- with :
17- fetch-depth : 0 # 拉取完整历史,确保版本号正确
18-
19- # 2. 设置 JDK 17(与 snail-job 一致的环境)
10+ - uses : actions/checkout@v4
2011 - name : Set up JDK 17
21- uses : actions/setup-java@v3
12+ uses : actions/setup-java@v4
2213 with :
2314 java-version : ' 17'
24- distribution : ' temurin' # 使用 temurin 发行版
25- cache : gradle # 缓存 Gradle 依赖,加速构建
15+ distribution : ' temurin'
2616
27- # 3. 缓存 Gradle 本地缓存
28- - name : Cache Gradle packages
29- uses : actions/cache@v3
30- with :
31- path : |
32- ~/.gradle/caches
33- ~/.gradle/wrapper
34- key : ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts', '**/gradle.properties') }}
35- restore-keys : |
36- ${{ runner.os }}-gradle-
17+ - name : Setup Gradle
18+ uses : gradle/actions/setup-gradle@v3
3719
38- # 4. 构建项目(跳过测试,与 snail-job 一致)
39- - name : Build with Gradle
40- run : ./gradlew build -x test --no-daemon
20+ - name : Grant execute permission for gradlew
21+ run : chmod +x gradlew
4122
42- # 5. 配置 GPG 签名
43- - name : Import GPG key
44- run : |
45- echo "${{ secrets.GPG_SECRET }}" | base64 --decode | gpg --batch --import
46- env :
47- GPG_SECRET : ${{ secrets.GPG_SECRET }}
23+ - name : Build without tests
24+ run : ./gradlew build -x test
4825
49- # 6. 发布到 Maven 中央仓库
50- - name : Publish to Maven Central
51- run : ./gradlew publish --no-daemon
26+ - name : Publish package to maven central
5227 env :
53- ORG_GRADLE_PROJECT_ossrhUsername : ${{ secrets.OSSRH_USERNAME }}
54- ORG_GRADLE_PROJECT_ossrhPassword : ${{ secrets.OSSRH_TOKEN }}
55- ORG_GRADLE_PROJECT_signingKey : ${{ secrets.GPG_SECRET }}
56- ORG_GRADLE_PROJECT_signingPassword : ${{ secrets.GPG_PASSWORD }}
28+ ORG_GRADLE_PROJECT_mavenCentralUsername : ${{ secrets.MAVEN_CENTRAL_USERNAME }}
29+ ORG_GRADLE_PROJECT_mavenCentralPassword : ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
30+ ORG_GRADLE_PROJECT_signingInMemoryKeyPassword : ${{ secrets.GPG_PASSPHRASE }}
31+ ORG_GRADLE_PROJECT_signingInMemoryKey : ${{ secrets.GPG_SECRET_KEY }}
32+ run : ./gradlew publishAllPublicationsToMavenCentralRepository
0 commit comments