Skip to content

Test Deployment

Test Deployment #9

Workflow file for this run

name: Test Deployment
on:
workflow_dispatch:
env:
PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }}
jobs:
publish-maven:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with: # running setup-java overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
server-id: github-central
server-password: PACKAGES_CENTRAL_TOKEN
gpg-passphrase: MAVEN_GPG_PASSPHRASE
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
- name: Publish to GitHub Packages
run: |
modules_block=$(grep -ozP '<modules>(\r|\n|.)*<\/modules>' 'pom.xml' | tr -d '\0')
modules=($(echo $modules_block | grep -oP '(?<=<module>)[^<]+' | grep -v demo))
printf -v modules_joined '%s,' "${modules[@]}"
modules_arg=$(echo "${modules_joined%,}")
./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
env:
PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Set up JDK
uses: actions/setup-java@v4
with: # running setup-java again overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
server-id: sonatype-central-portal
server-username: MAVEN_CENTRAL_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Publish to Central Portal
run: |
modules_block=$(grep -ozP '<modules>(\r|\n|.)*<\/modules>' 'pom.xml' | tr -d '\0')
modules=($(echo $modules_block | grep -oP '(?<=<module>)[^<]+' | grep -v demo))
printf -v modules_joined '%s,' "${modules[@]}"
modules_arg=$(echo "${modules_joined%,}")
./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish,publish-sonatype-central-portal -DskipTests
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}