1+ name : Release scylla-cdc-java
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ dryrun :
7+ type : boolean
8+ description : ' dryrun: run without pushing SCM changes to upstream'
9+ default : true
10+
11+ jobs :
12+ release :
13+ name : Release
14+ runs-on : ubuntu-latest
15+
16+ permissions :
17+ contents : write
18+
19+ env :
20+ MVNCMD : mvn -B -X -ntp
21+
22+ steps :
23+ - name : Checkout Repository
24+ uses : actions/checkout@v4
25+
26+ - name : Set up Java
27+ uses : actions/setup-java@v4
28+ with :
29+ java-version : ' 11'
30+ distribution : ' temurin'
31+ server-id : ossrh
32+ gpg-private-key : ${{ secrets.GPG_PRIVATE_KEY }}
33+ server-username : OSSRH_USERNAME
34+ server-password : OSSRH_PASSWORD
35+
36+ - name : Configure Git user
37+ run : |
38+ git config user.name "ScyllaDB Promoter"
39+ git config user.email "[email protected] " 40+
41+ - name : Clean project
42+ run : $MVNCMD clean
43+
44+ - name : Clean release
45+ run : $MVNCMD release:clean
46+
47+ - name : Prepare release
48+ env :
49+ GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
50+ run : $MVNCMD release:prepare -DpushChanges=false -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
51+
52+ - name : Perform release
53+ env :
54+ GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
55+ OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
56+ OSSRH_PASSWORD : ${{ secrets.OSSRH_PASSWORD }}
57+ if : ${{ github.event.inputs.dryrun == 'false' }}
58+ run : $MVNCMD release:perform -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
59+
60+ - name : Push changes to SCM
61+ if : ${{ github.event.inputs.dryrun == 'false' }}
62+ run : |
63+ git status && git log -3
64+ git push origin --follow-tags -v
0 commit comments