Skip to content

Publish package to Maven Central #26

Publish package to Maven Central

Publish package to Maven Central #26

Workflow file for this run

name: Publish package to Maven Central
on:
workflow_dispatch:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Set up Maven
run: |
sudo apt-get install -y maven
- name: Set up gpg
run: |
sudo apt-get install -y gnupg
echo "${{ secrets.GPG_PRIVATE_KEY }}" > private.key
gpg --batch --import --verbose private.key
- name: Configure Maven settings
run: |
mkdir -p ~/.m2
echo "<settings>" > ~/.m2/settings.xml
echo " <servers>" >> ~/.m2/settings.xml
echo " <server>" >> ~/.m2/settings.xml
echo " <id>central</id>" >> ~/.m2/settings.xml
echo " <username>${{ secrets.CENTRAL_USERNAME }}</username>" >> ~/.m2/settings.xml
echo " <password>${{ secrets.CENTRAL_PASSWORD }}</password>" >> ~/.m2/settings.xml
echo " </server>" >> ~/.m2/settings.xml
echo " <server>" >> ~/.m2/settings.xml
echo " <id>gpg</id>" >> ~/.m2/settings.xml
echo " <username>${{ secrets.GPG_USERNAME }}</username>" >> ~/.m2/settings.xml
echo " <password>${{ secrets.GPG_PASSWORD }}</password>" >> ~/.m2/settings.xml
echo " </server>" >> ~/.m2/settings.xml
echo " </servers>" >> ~/.m2/settings.xml
echo "</settings>" >> ~/.m2/settings.xml
- name: Publish package to Maven Central
run: mvn clean deploy -P release -DskipTests -Dgpg.passphrase=${{ secrets.GPG_PASSWORD }}