1
- name : Release
1
+ name : " Release"
2
2
on :
3
3
release :
4
4
types : [ published ]
5
+ env :
6
+ GIT_USER_NAME : ${{ secrets.GIT_USER_NAME }}
7
+ GIT_USER_EMAIL : ${{ secrets.GIT_USER_EMAIL }}
5
8
jobs :
6
9
release :
7
- runs-on : ubuntu-latest
8
- env :
9
- GIT_USER_NAME : ${{ secrets.GIT_USER_NAME }}
10
- GIT_USER_EMAIL : ${{ secrets.GIT_USER_EMAIL }}
10
+ name : " Release"
11
+ runs-on : ubuntu-24.04
11
12
steps :
12
- - name : Checkout repository
13
- uses : actions/checkout@v2
14
- with :
15
- ref : 4.0.x
16
- token : ${{ secrets.GH_TOKEN }}
17
- - uses : gradle/wrapper-validation-action@v1
18
- - name : Set up JDK
19
- uses : actions/setup-java@v1
20
- with :
21
- java-version : 8
22
- - name : Get latest release version number
23
- id : get_version
24
- uses : battila7/get-version-action@v2
25
- - name : Run pre-release
26
- uses : micronaut-projects/github-actions/pre-release@master
27
- with :
28
- token : ${{ secrets.GITHUB_TOKEN }}
29
- - name : Publish to Sonatype OSSRH
30
- env :
31
- SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
32
- SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
33
- SONATYPE_STAGING_PROFILE_ID : ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
34
- SIGNING_KEY_ID : ${{ secrets.SIGNING_KEY_ID }}
35
- SIGNING_PASSPHRASE : ${{ secrets.SIGNING_PASSPHRASE }}
36
- SECRING_FILE : ${{ secrets.SECRING_FILE }}
37
- RELEASE_VERSION : ${{ steps.get_version.outputs.version-without-v }}
38
- run : |
39
- echo "${SECRING_FILE}" | base64 -d > "${GITHUB_WORKSPACE}/secring.gpg"
40
- echo "Publishing Artifacts for $RELEASE_VERSION"
41
- (set -x; ./gradlew -Pversion="${RELEASE_VERSION}" -Psigning.secretKeyRingFile="${GITHUB_WORKSPACE}/secring.gpg" publishToSonatype closeAndReleaseSonatypeStagingRepository --no-daemon)
42
- - name : Bump patch version by one
43
- uses : actions-ecosystem/action-bump-semver@v1
44
- id : bump_semver
45
- with :
46
- current_version : ${{steps.get_version.outputs.version-without-v }}
47
- level : patch
48
- - name : Set version in gradle.properties
49
- env :
50
- NEXT_VERSION : ${{ steps.bump_semver.outputs.new_version }}
51
- run : |
52
- echo "Preparing next snapshot"
53
- ./gradlew snapshotVersion -Pversion="${NEXT_VERSION}"
54
- - name : Commit & Push changes
55
- uses : actions-js/push@master
56
- with :
57
- github_token : ${{ secrets.GITHUB_TOKEN }}
58
- author_name : ${{ secrets.GIT_USER_NAME }}
59
- author_email : $${ secrets.GIT_USER_EMAIL }}
60
- branch : 4.0.x
61
- message : ' Set version to next SNAPSHOT'
62
- - name : Export Gradle Properties
63
- uses : micronaut-projects/github-actions/export-gradle-properties@master
64
- - name : Run post-release
65
- if : success()
66
- uses : micronaut-projects/github-actions/post-release@master
67
- with :
68
- token : ${{ secrets.GITHUB_TOKEN }}
13
+ - name : " 📥 Checkout repository"
14
+ uses : actions/checkout@v4
15
+ - name : " ☕️ Setup JDK"
16
+ uses : actions/setup-java@v4
17
+ with :
18
+ java-version : 8
19
+ distribution : liberica
20
+ - name : " 🐘 Setup Gradle"
21
+ uses : gradle/actions/setup-gradle@v4
22
+ with :
23
+ develocity-access-key : ${{ secrets.DEVELOCITY_ACCESS_KEY }}
24
+ - name : " ⚙ Run pre-release"
25
+ uses : grails/github-actions/pre-release@main
26
+ - name : " 📤 Publish artifacts to Sonatype"
27
+ id : publish_to_sonatype
28
+ env :
29
+ SECRING_FILE : ${{ secrets.SECRING_FILE }}
30
+ SIGNING_KEY : ${{ secrets.SIGNING_KEY_ID }}
31
+ SIGNING_PASSPHRASE : ${{ secrets.SIGNING_PASSPHRASE }}
32
+ SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
33
+ SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
34
+ SONATYPE_STAGING_PROFILE_ID : ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
35
+ run : |
36
+ echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
37
+ ./gradlew --no-build-cache \
38
+ -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg \
39
+ publishToSonatype \
40
+ closeAndReleaseSonatypeStagingRepository
41
+ - name : " ⚙️ Run post-release"
42
+ if : steps.publish_to_sonatype.outcome == 'success'
43
+ uses : grails/github-actions/post-release@main
0 commit comments