1+ name : Nebula Publish
2+ on :
3+ push :
4+ tags :
5+ - v*.*.*
6+ - v*.*.*-rc.*
7+
8+ jobs :
9+ validation :
10+ name : " Gradle Wrapper Validation"
11+ runs-on : ubuntu-latest
12+ steps :
13+ - uses : actions/checkout@v4
14+ - uses : gradle/actions/wrapper-validation@v4
15+ validatepluginpublication :
16+ needs : validation
17+ runs-on : ubuntu-latest
18+ name : Gradle Plugin Publication Validation
19+ env :
20+ NETFLIX_OSS_SONATYPE_USERNAME : ${{ secrets.ORG_SONATYPE_USERNAME }}
21+ NETFLIX_OSS_SONATYPE_PASSWORD : ${{ secrets.ORG_SONATYPE_PASSWORD }}
22+ steps :
23+ - uses : actions/checkout@v4
24+ - name : Setup git user
25+ run : |
26+ git config --global user.name "Nebula Plugin Maintainers"
27+ git config --global user.email "nebula-plugins-oss@netflix.com"
28+ - name : Set up JDKs
29+ uses : actions/setup-java@v4
30+ with :
31+ distribution : ' zulu'
32+ java-version : |
33+ 11
34+ 21
35+ java-package : jdk
36+ - name : Setup Gradle
37+ uses : gradle/actions/setup-gradle@v5
38+ with :
39+ cache-overwrite-existing : true
40+ - name : Verify plugin publication
41+ if : |
42+ startsWith(github.ref, 'refs/tags/v') &&
43+ (!contains(github.ref, '-rc.'))
44+ run : ./gradlew --stacktrace -Dgradle.publish.key=${{ secrets.gradlePublishKey }} -Dgradle.publish.secret=${{ secrets.gradlePublishSecret }} -Prelease.useLastTag=true final publishPlugin --validate-only -x check -x signPluginMavenPublication
45+ publish :
46+ if : github.event.base_ref == 'refs/heads/main' # tags must be pushed to main
47+ needs : validatepluginpublication
48+ runs-on : ubuntu-latest
49+ name : Gradle Build and Publish
50+ env :
51+ NETFLIX_OSS_SONATYPE_USERNAME : ${{ secrets.ORG_SONATYPE_USERNAME }}
52+ NETFLIX_OSS_SONATYPE_PASSWORD : ${{ secrets.ORG_SONATYPE_PASSWORD }}
53+ NETFLIX_OSS_SIGNING_KEY : ${{ secrets.ORG_SIGNING_KEY }}
54+ NETFLIX_OSS_SIGNING_PASSWORD : ${{ secrets.ORG_SIGNING_PASSWORD }}
55+ NETFLIX_OSS_REPO_USERNAME : ${{ secrets.ORG_NETFLIXOSS_USERNAME }}
56+ NETFLIX_OSS_REPO_PASSWORD : ${{ secrets.ORG_NETFLIXOSS_PASSWORD }}
57+ steps :
58+ - uses : actions/checkout@v4
59+ - name : Setup git user
60+ run : |
61+ git config --global user.name "Nebula Plugin Maintainers"
62+ git config --global user.email "nebula-plugins-oss@netflix.com"
63+ - name : Set up JDKs
64+ uses : actions/setup-java@v4
65+ with :
66+ distribution : ' zulu'
67+ java-version : |
68+ 11
69+ 21
70+ java-package : jdk
71+ - name : Setup Gradle
72+ uses : gradle/actions/setup-gradle@v5
73+ with :
74+ cache-overwrite-existing : true
75+ - name : Gradle build
76+ run : ./gradlew --stacktrace build
77+ - name : Publish candidate
78+ if : |
79+ startsWith(github.ref, 'refs/tags/v') &&
80+ contains(github.ref, '-rc.')
81+ run : ./gradlew --info --stacktrace -Prelease.useLastTag=true candidate
82+ - name : Publish release
83+ if : |
84+ startsWith(github.ref, 'refs/tags/v') &&
85+ (!contains(github.ref, '-rc.'))
86+ run : ./gradlew --info --stacktrace -Dgradle.publish.key=${{ secrets.gradlePublishKey }} -Dgradle.publish.secret=${{ secrets.gradlePublishSecret }} -Prelease.useLastTag=true final
0 commit comments