# 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: [ published ] workflow_dispatch: jobs: build: runs-on: macos-latest environment: release env: JAVA_OPTS: "-Xmx4g -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=768m -Djava.awt.headless=true" GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dkotlin.compiler.execution.strategy=in-process" permissions: contents: write packages: write steps: - uses: actions/checkout@v6 - name: Set up JDK 21 uses: actions/setup-java@v5 with: java-version: '21' distribution: 'temurin' - name: Setup Gradle uses: gradle/actions/setup-gradle@v5 - name: Clean Build with Gradle run: ./gradlew clean build -x :conformance-test:test --rerun-tasks --max-workers 2 --continue --configure-on-demand --parallel - name: Publish Test Report uses: mikepenz/action-junit-report@v6 if: ${{ !cancelled() }} with: annotate_only: true detailed_summary: true flaky_summary: true group_suite: true include_empty_in_summary: false include_time_in_summary: true report_paths: '**/test-results/**/TEST-*.xml' truncate_stack_traces: false - name: Publish to Maven Central Portal id: publish run: ./gradlew publishToMavenCentral --no-configuration-cache env: ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.OSSRH_USERNAME }} ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.OSSRH_TOKEN }} ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_SECRET_KEY }} ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSPHRASE }} GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}