1- name : Deploy a branch
1+ name : Release new version
22
33on :
44 workflow_dispatch :
88 default : false
99 type : boolean
1010
11+ skip-tests :
12+ description : " Skip unit and integration tests"
13+ default : false
14+ type : boolean
15+
1116 version :
1217 description : " Override deployment version"
1318 default : " "
1419 type : string
1520
1621jobs :
17- maven-central :
18- name : Deploy to Maven Central
22+ release :
23+ name : Release
1924 environment :
2025 name : maven-central
2126 url : https://repo1.maven.org/maven2/io/github/ascopes/jct/java-compiler-testing/
@@ -35,14 +40,14 @@ jobs:
3540 uses : actions/setup-java@v4
3641 with :
3742 distribution : zulu
38- java-version : 23
39- server-id : ossrh
40- server-username : OSSRH_USERNAME
41- server-password : OSSRH_TOKEN
43+ java-version : 24
44+ server-id : central
45+ server-username : CENTRAL_USERNAME
46+ server-password : CENTRAL_TOKEN
4247 gpg-passphrase : GPG_PASSPHRASE
4348 gpg-private-key : ${{ secrets.GPG_PRIVATE_KEY }}
4449
45- - name : Deploy to staging
50+ - name : Create Maven Central Release
4651 shell : bash
4752 run : |-
4853 git config user.name '${{ github.actor }}'
@@ -58,30 +63,26 @@ jobs:
5863 ./mvnw -B -e \
5964 -Preleases \
6065 -DdryRun='${{ inputs.dry-run }}' \
66+ -Dinvoker.skip='${{ inputs.skip-tests }}' \
6167 -Dpassword='${{ secrets.GITHUB_TOKEN }}' \
6268 -DreleaseVersion="${release_version}" \
6369 -DsignTag=false \
70+ -DskipTests='${{ inputs.skip-tests }}' \
6471 -Dtag="v${release_version}" \
6572 clean verify release:prepare release:perform
66-
67- echo "Created staging release for ${group_id}/${artifact_id}/${release_version}"
6873 env :
69- OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
70- OSSRH_TOKEN : ${{ secrets.OSSRH_TOKEN }}
74+ CENTRAL_USERNAME : ${{ secrets.CENTRAL_USERNAME }}
75+ CENTRAL_TOKEN : ${{ secrets.CENTRAL_TOKEN }}
7176 GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
7277
73- - name : Abort and rollback staging release
78+ - name : Revert Maven Central Release
7479 if : ${{ failure() }}
7580 run : |-
7681 ./mvnw -B -e \
7782 -Dpassword='${{ secrets.GITHUB_TOKEN }}' \
7883 -DreleaseVersion="${release_version}" \
7984 -Dtag="v${release_version}" \
8085 release:rollback
81- env :
82- OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
83- OSSRH_TOKEN : ${{ secrets.OSSRH_TOKEN }}
84- GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
8586
8687 - name : Create GitHub Release
8788 if : ${{ ! inputs.dry-run }}
0 commit comments