name: Gradle Publish to Maven Central

on:
  push:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
      SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
      GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
      GPG_PASSPHRASE: ${{ secrets.GPG_PASSWORD }}
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 21
        uses: actions/setup-java@v2
        with:
          java-version: '21'
          distribution: 'temurin'
      - name: Set outputs
        id: vars
        run: |
          echo "short_commit_hash=${GITHUB_SHA::10}" >> $GITHUB_OUTPUT
      - name: Publish to Sonatype
        env:
          MINESTOM_VERSION: ${{ steps.vars.outputs.short_commit_hash }}
          MINESTOM_CHANNEL: release
        run: |
          ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
          echo "Version: ${SHORT_COMMIT_HASH}" >> $GITHUB_STEP_SUMMARY
