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 }}'
@@ -61,27 +66,18 @@ jobs:
6166 -Dpassword='${{ secrets.GITHUB_TOKEN }}' \
6267 -DreleaseVersion="${release_version}" \
6368 -DsignTag=false \
69+ -DskipTests='${{ input.skip-tests }}' \
6470 -Dtag="v${release_version}" \
6571 clean verify release:prepare release:perform
6672
67- echo "Created staging release for ${group_id}/${artifact_id}/${release_version}"
68- env :
69- OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
70- OSSRH_TOKEN : ${{ secrets.OSSRH_TOKEN }}
71- GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
72-
73- - name : Abort and rollback staging release
73+ - name : Revert Maven Central Release
7474 if : ${{ failure() }}
7575 run : |-
7676 ./mvnw -B -e \
7777 -Dpassword='${{ secrets.GITHUB_TOKEN }}' \
7878 -DreleaseVersion="${release_version}" \
7979 -Dtag="v${release_version}" \
8080 release:rollback
81- env :
82- OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
83- OSSRH_TOKEN : ${{ secrets.OSSRH_TOKEN }}
84- GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
8581
8682 - name : Create GitHub Release
8783 if : ${{ ! inputs.dry-run }}
0 commit comments