|
5 | 5 |
|
6 | 6 | jobs: |
7 | 7 | release: |
8 | | - name: Release to Maven Central, Tag & Release |
| 8 | + name: Release with JReleaser |
9 | 9 | runs-on: ubuntu-latest |
10 | 10 | steps: |
11 | | - - uses: actions/checkout@v2 |
12 | | - - name: Generate tag version |
13 | | - uses: anothrNick/github-tag-action@v1 |
14 | | - id: tag_version_dry_run |
15 | | - env: |
16 | | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
17 | | - WITH_V: false |
18 | | - DRY_RUN: true |
19 | | - - name: Set up JDKs |
| 11 | + - uses: actions/checkout@v4 |
| 12 | + with: |
| 13 | + fetch-depth: 0 |
| 14 | + |
| 15 | + - name: Set up JDK 17 |
20 | 16 | uses: actions/setup-java@v5 |
21 | 17 | with: |
22 | 18 | distribution: 'temurin' |
23 | 19 | java-version: 17 |
| 20 | + |
24 | 21 | - name: Grant execute permission for gradlew |
25 | 22 | run: chmod +x gradlew |
26 | | - - name: Jar |
27 | | - env: |
28 | | - RELEASE_VERSION: ${{ steps.tag_version_dry_run.outputs.tag }} |
29 | | - run: ./gradlew shadowJar -Pversion=$RELEASE_VERSION |
30 | | - - name: Publish to Maven Central |
31 | | - env: |
32 | | - ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_PRIVATE_KEY_ASCII_ARMOR }} |
33 | | - ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_KEY_PASSPHRASE }} |
34 | | - MAVEN_CENTRAL_TOKEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_TOKEN_USERNAME }} |
35 | | - MAVEN_CENTRAL_TOKEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_TOKEN_PASSWORD }} |
36 | | - RELEASE_VERSION: ${{ steps.tag_version_dry_run.outputs.tag }} |
37 | | - run: ./gradlew -Pversion=$RELEASE_VERSION publish -PossrhUsername=${MAVEN_CENTRAL_TOKEN_USERNAME} -PossrhPassword=${MAVEN_CENTRAL_TOKEN_PASSWORD} -Psign=true |
38 | | - - name: Close & Release Staging Repository |
| 23 | + |
| 24 | + - name: Build artifacts |
| 25 | + run: ./gradlew clean build -x test |
| 26 | + |
| 27 | + - name: Publish to Maven Central with JReleaser |
39 | 28 | env: |
40 | | - MAVEN_CENTRAL_TOKEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_TOKEN_USERNAME }} |
41 | | - MAVEN_CENTRAL_TOKEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_TOKEN_PASSWORD }} |
42 | | - run: ./gradlew closeAndReleaseRepository -PossrhUsername=${MAVEN_CENTRAL_TOKEN_USERNAME} -PossrhPassword=${MAVEN_CENTRAL_TOKEN_PASSWORD} |
43 | | - - name: Push new tag |
44 | | - uses: anothrNick/github-tag-action@v1 |
45 | | - id: tag_version |
46 | | - env: |
47 | | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
48 | | - WITH_V: false |
49 | | - DRY_RUN: false |
50 | | - - name: Build Changelog |
51 | | - id: github_release |
52 | | - uses: mikepenz/release-changelog-builder-action@v3 |
53 | | - env: |
54 | | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
55 | | - - name: Create Github Release |
56 | | - uses: softprops/action-gh-release@v1 |
57 | | - with: |
58 | | - body: ${{steps.github_release.outputs.changelog}} |
59 | | - tag_name: ${{ steps.tag_version.outputs.tag }} |
60 | | - files: java-snapshot-testing-*/build/libs/*.jar |
| 29 | + JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_TOKEN_USERNAME }} |
| 30 | + JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_TOKEN_PASSWORD }} |
| 31 | + JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_PRIVATE_KEY_ASCII_ARMOR }} |
| 32 | + JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_KEY_PASSPHRASE }} |
| 33 | + JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 34 | + run: ./gradlew jreleaserFullRelease |
0 commit comments