Skip to content

Gradle Precommit #12432

Gradle Precommit

Gradle Precommit #12432

name: Gradle Precommit
on:
pull_request:
branches:
- 'main'
- 'branch_*'
jobs:
# Dependabot job that runs only for dependabot PRs
# This job is writing locks, updates checksums, and commits the changes on the dependabot PRs.
dependabot:
name: gradle check
runs-on: ubuntu-latest
# Run only on dependabot PRs (see dependabot-actions.yml)
if: github.actor == 'dependabot[bot]'
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
# Give the default GITHUB_TOKEN write permission to commit
# and push the changed files back to the repository.
permissions:
contents: write
steps:
- name: Checkout project
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
java-package: jdk
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Use Gradle cache
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
key: ${{ runner.os }}-gradle-precommit-${{ hashFiles('versions.lock') }}
restore-keys: |
${{ runner.os }}-gradle-precommit-
${{ runner.os }}-gradle-
- name: Write locks
run: ./gradlew writeLocks
- name: Update licenses / checksums
run: ./gradlew updateLicenses
- name: Commit and push changes
uses: stefanzweifel/[email protected]
with:
commit_message: Write locks and update checksums
branch: ${{ github.head_ref }}
test:
name: gradle check
runs-on: ubuntu-latest
# Run after "dependabot" job, regardless if skipped or successful
needs: dependabot
if: always()
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
# Setup
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
java-package: jdk
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- uses: actions/cache@v4
with:
path: |
~/.gradle/caches
key: ${{ runner.os }}-gradle-precommit-${{ hashFiles('versions.lock') }}
restore-keys: |
${{ runner.os }}-gradle-precommit-
${{ runner.os }}-gradle-
- name: Run gradle check (without tests)
run: ./gradlew check -x test -Ptask.times=true
- uses: gradle/wrapper-validation-action@v3