name: Build on: push: branches: [ "**" ] tags-ignore: [ "**" ] pull_request: jobs: build: # Only run on PRs if the source branch is on someone else's repo if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }} runs-on: ubuntu-latest steps: - name: "checkout git repository" uses: actions/checkout@v4 - name: "validate gradle wrapper" uses: gradle/actions/wrapper-validation@v3 - name: "setup jdk" uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 21 - name: "setup gradle" uses: gradle/actions/setup-gradle@v3 # gradle-build-action doesn't support caching files in the project dir - name: "cache project local caches" uses: actions/cache@v4 with: path: | .gradle/loom-cache key: ${{ runner.os }}-project-local-gradle-caches-${{ hashFiles('**/libs.versions.toml', '**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-project-local-gradle-caches- - name: "setup concurrentutil" run: ./installConcurrentUtil.sh - name: "execute gradle build" run: ./gradlew build - name: "upload artifacts" uses: actions/upload-artifact@v4 with: name: artifacts path: "**/build/libs/*.jar"