File tree Expand file tree Collapse file tree 4 files changed +92
-0
lines changed Expand file tree Collapse file tree 4 files changed +92
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Gradle Build
2+
3+ on :
4+ pull_request :
5+
6+ jobs :
7+
8+ # pr时校验gradle build是否通过
9+ build :
10+ runs-on : ubuntu-latest
11+ strategy :
12+ matrix :
13+ java-version : [ 8, 11 ]
14+ steps :
15+ - uses : actions/checkout@v2
16+ - name : Set up JDK
17+ uses : actions/setup-java@v2
18+ with :
19+ java-version : ${{ matrix.java-version }}
20+ distribution : ' adopt'
21+ - name : Validate Gradle wrapper
22+ uses : gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b
23+ - name : Build with Gradle
24+ run : ./gradlew build
Original file line number Diff line number Diff line change 1+ name : Comment on Pull Request
2+
3+ on :
4+ pull_request :
5+
6+ jobs :
7+
8+ # pr时自动创建待完成任务
9+ comment-on-pr :
10+ runs-on : ubuntu-latest
11+ steps :
12+ - name : comment PR
13+ uses : unsplash/comment-on-pr@v1.3.0
14+ env :
15+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
16+ with :
17+ msg : " 请完成以下事项:\n - [ ] 更新build.gradle中的version "
Original file line number Diff line number Diff line change 1+ name : Gradle Publish
2+
3+ on :
4+ release :
5+ types : published
6+ jobs :
7+
8+ # 校验tag是否满足语义化版本格式
9+ check-tag :
10+ runs-on : ubuntu-latest
11+ steps :
12+ - uses : actions/checkout@v2
13+ - name : Regex Match
14+ id : regex-match
15+ run : |
16+ result=$(printf ${{github.ref_name}} | perl -ne 'printf if /^v(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/')
17+ echo "::set-output name=result::$result"
18+ - name : Check Tag
19+ if : ${{ steps.regex-match.outputs.result != github.ref_name }}
20+ uses : actions/github-script@v4
21+ with :
22+ script : core.setFailed('Invalid Tag:${{github.ref_name}}')
23+
24+ # Push Tag时自动发布新版本到Maven中央仓库
25+ publish :
26+ needs : [check-tag]
27+ runs-on : ubuntu-latest
28+ steps :
29+ - uses : actions/checkout@v2
30+ - name : Set up Java
31+ uses : actions/setup-java@v2
32+ with :
33+ java-version : ' 8'
34+ distribution : ' adopt'
35+ - name : Validate Gradle wrapper
36+ uses : gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b
37+ # 发布项目
38+ - name : Publish
39+ run : ./gradlew publish
40+ env :
41+ SONATYPE_NEXUS_USERNAME : ${{secrets.SONATYPE_NEXUS_USERNAME}}
42+ SONATYPE_NEXUS_PASSWORD : ${{secrets.SONATYPE_NEXUS_PASSWORD}}
43+ ORG_GRADLE_PROJECT_signingKey : ${{secrets.SIGNING_KEY}}
44+ ORG_GRADLE_PROJECT_signingPassword : ${{secrets.SIGNING_PASSWORD}}
Original file line number Diff line number Diff line change @@ -39,6 +39,10 @@ dependencies {
3939 testImplementation " junit:junit:$junit_version "
4040}
4141
42+ test {
43+ ignoreFailures = true
44+ }
45+
4246publishing {
4347 java {
4448 withJavadocJar()
@@ -89,5 +93,8 @@ publishing {
8993}
9094
9195signing {
96+ def signingKey = findProperty(" signingKey" )
97+ def signingPassword = findProperty(" signingPassword" )
98+ useInMemoryPgpKeys(signingKey, signingPassword)
9299 sign publishing. publications. maven
93100}
You can’t perform that action at this time.
0 commit comments