name: Build and test Minestom on: pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 17 uses: actions/setup-java@v2 with: distribution: 'zulu' java-version: 17 - 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/ # TODO: reenable # - name: Build Minestom # run: ./gradlew classes testClasses # - name: Run Minestom tests # run: ./gradlew test publish: needs: [ 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 17 uses: actions/setup-java@v2 with: java-version: '17' distribution: 'temurin' - name: Set outputs id: vars run: echo "short_commit_hash=${GITHUB_SHA::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