Skip to content

SOLR-17571: Introduce dependabot #12435

SOLR-17571: Introduce dependabot

SOLR-17571: Introduce dependabot #12435

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.
lockAndVerify:
name: Lock and verify
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
run: |
git config user.name github-actions
git config user.email [email protected]
git add .
git commit -m "Write locks and update checksums"
git push origin ${{ github.head_ref }}
test:
name: gradle check
runs-on: ubuntu-latest
# Run after "dependabot" job, regardless if skipped or successful
needs: lockAndVerify
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