name: Maven - Build & Publish on: push: tags: - v* jobs: build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' cache: maven - name: Cache local Maven repository uses: actions/cache@v3 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Build with Maven run: mvn -B package --file pom.xml -Dmaven.test.skip=true - name: Set up Apache Maven Central uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' server-id: ossrh server-username: MAVEN_USERNAME server-password: MAVEN_CENTRAL_TOKEN gpg-private-key: ${{ secrets.GPG_SECRET }} gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish to Apache Maven Central run: mvn deploy -P release -f pom.xml env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.OSSRH_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSWORD }}