# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. # This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created # For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle name: Release on: release: types: [created] jobs: build: runs-on: ubuntu-latest environment: release permissions: contents: write packages: write steps: - uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml server-username: JRELEASER_MAVENCENTRAL_USERNAME server-password: JRELEASER_MAVENCENTRAL_PASSWORD - name: Setup Gradle uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 - name: Verify publication configuration run: ./gradlew jreleaserConfig env: JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Clean Build with Gradle run: ./gradlew clean build env: JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} - name: Publish to OSSRH repository run: ./gradlew publish jreleaserFullRelease env: JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }} JRELEASER_MAVENCENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }} JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }} JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} JRELEASER_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}