Skip to content

release-java-client #19

release-java-client

release-java-client #19

name: release-java-client
on:
workflow_dispatch:
inputs:
version:
description: 'Release Version'
required: true
branches:
- 'main'
jobs:
java-maven-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 8
cache: maven
- name: Run Maven Build
run: ./mvnw clean package
publish-jar:
runs-on: ubuntu-latest
needs: java-maven-build
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.CLIENT_GPG_KEY }}
passphrase: ${{ secrets.CLIENT_GPG_PASSPHRASE }}
- name: Set up Java for Maven build
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 8
cache: maven
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Set Release Version
if: "${{ github.event.inputs.version != '' }}"
run: ./mvnw versions:set -DnewVersion=${{github.event.inputs.version}} -DgenerateBackupPoms=false
- name: Publish Release Version
if: "${{ github.event.inputs.version != '' }}"
run: ./mvnw --batch-mode deploy -DperformRelease=true
env:
MAVEN_USERNAME: ${{ secrets.CENTRAL_PORTAL_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.CENTRAL_PORTAL_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.CLIENT_GPG_PASSPHRASE }}
- name: Handle Empty Version
if: "${{ github.event.inputs.version == '' }}"
run: echo Please specify a non empty release version