# SPDX-FileCopyrightText: The openTCS Authors # SPDX-License-Identifier: MIT name: Gradle Build on: [push, pull_request] permissions: contents: read jobs: build: runs-on: ubuntu-22.04 steps: - name: Check out repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # (=v4.1.1) - name: Set up JDK 21 uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # (=v4.0.0) with: java-version: '21' distribution: 'temurin' - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@699bb18358f12c5b78b37bb0111d3a0e2276e0e2 # (=v2.1.1) - name: Cache Gradle packages uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # (=v4.0.0) with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: Build with Gradle run: ./gradlew build - name: Check code formatting run: ./gradlew spotlessCheck - 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