Skip to content

Deploy to Maven Central #20

Deploy to Maven Central

Deploy to Maven Central #20

Workflow file for this run

name: Deploy to Maven Central
on:
workflow_dispatch:
release:
types: [created]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up GPG
run: |
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
echo "$GPG_OWNERTRUST" | gpg --batch --import-ownertrust
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_OWNERTRUST: ${{ secrets.GPG_OWNERTRUST }}
- name: Verify GPG Key
run: gpg --list-secret-keys --keyid-format LONG
- name: Debug GPG Key Import
run: |
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
gpg --list-secret-keys --keyid-format LONG || echo "No secret keys found"
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
- name: Set Default GPG Key and Verify
run: |
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
gpg --default-key ${{ secrets.GPG_KEY_ID }} --list-secret-keys --keyid-format LONG
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
- name: Set GPG_TTY
run: echo "GPG_TTY=$(tty)" >> $GITHUB_ENV
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'maven'
server-id: central
server-username: ${{ secrets.CENTRAL_USERNAME }}
server-password: ${{ secrets.CENTRAL_PASSWORD }}
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
- name: Build and Deploy
run: mvn clean deploy -Psign-artifacts
env:
GPG_TTY: $(tty)
MAVEN_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}