diff --git a/.github/workflows/java-21.yml b/.github/workflows/java-21.yml new file mode 100644 index 00000000..2baeea77 --- /dev/null +++ b/.github/workflows/java-21.yml @@ -0,0 +1,41 @@ +# This workflow will build a Java project with Gradle +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle + +name: Java 21 + +on: + push: + branches: [ 4.4.*, 4.3.*, 4.2.*, 4.1.*, 4.0.*, 3.6.* ] + pull_request: + branches: [ 4.4.*, 4.3.*, 4.2.*, 4.1.*, 4.0.*, 3.6.* ] + +jobs: + build: + runs-on: ubuntu-latest + name: Java 21 build + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: 21 + distribution: liberica + - name: Cache Gradle packages + uses: actions/cache@v4 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@v3 + - name: Build with Gradle + run: ./gradlew build + - name: Cleanup Gradle Cache + # Remove some files from the Gradle cache, so they aren't cached by GitHub Actions. + # Restoring these files from a GitHub Actions cache might cause problems for future builds. + run: | + rm -f ~/.gradle/caches/modules-2/modules-2.lock + rm -f ~/.gradle/caches/modules-2/gc.properties