name: Build and test Minestom on: pull_request: branches: [ master ] jobs: tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 21 uses: actions/setup-java@v2 with: distribution: 'zulu' java-version: 21 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Setup gradle cache uses: burrunan/gradle-cache-action@v1 with: save-generated-gradle-jars: false save-local-build-cache: false save-gradle-dependencies-cache: true save-maven-dependencies-cache: true # Ignore some of the paths when caching Maven Local repository maven-local-ignore-paths: | net/minestom/ - name: Build Minestom run: ./gradlew classes testClasses - name: Run Minestom tests run: ./gradlew test publish: runs-on: ubuntu-latest if: github.event.pull_request.head.repo.full_name == github.repository 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: | export ACTUAL=${{ github.event.pull_request.head.sha }} echo "short_commit_hash=${ACTUAL::10}" >> $GITHUB_OUTPUT - name: Publish to Sonatype env: MINESTOM_VERSION: ${{ github.head_ref }}-${{ steps.vars.outputs.short_commit_hash }} MINESTOM_CHANNEL: snapshot run: | ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository echo "Version: ${SHORT_COMMIT_HASH}" >> $GITHUB_STEP_SUMMARY