maven-publish.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. name: Maven - Build & Publish
  2. on:
  3. push:
  4. tags:
  5. - v*
  6. jobs:
  7. build:
  8. runs-on: ubuntu-22.04
  9. steps:
  10. - uses: actions/checkout@v4
  11. - name: Set up JDK 17
  12. uses: actions/setup-java@v3
  13. with:
  14. java-version: '17'
  15. distribution: 'temurin'
  16. cache: maven
  17. - name: Cache local Maven repository
  18. uses: actions/cache@v3
  19. with:
  20. path: ~/.m2/repository
  21. key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
  22. restore-keys: |
  23. ${{ runner.os }}-maven-
  24. - name: Build with Maven
  25. run: mvn -B package --file pom.xml -Dmaven.test.skip=true
  26. - name: Set up Apache Maven Central
  27. uses: actions/setup-java@v4
  28. with:
  29. distribution: 'temurin'
  30. java-version: '17'
  31. server-id: ossrh
  32. server-username: MAVEN_USERNAME
  33. server-password: MAVEN_CENTRAL_TOKEN
  34. gpg-private-key: ${{ secrets.GPG_SECRET }}
  35. gpg-passphrase: MAVEN_GPG_PASSPHRASE
  36. - name: Publish to Apache Maven Central
  37. run: mvn deploy -P release -f pom.xml
  38. env:
  39. MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
  40. MAVEN_CENTRAL_TOKEN: ${{ secrets.OSSRH_TOKEN }}
  41. MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSWORD }}