name: Build and test Minestom

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

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/
    - name: Build Minestom
      run: ./gradlew classes testClasses
    - name: Run Minestom tests
      run: ./gradlew test
