Skip to content

Upgrade to gradle 9.4.0. (#15829) #142

Upgrade to gradle 9.4.0. (#15829)

Upgrade to gradle 9.4.0. (#15829) #142

name: "Run checks: gradle upgrade"
on:
workflow_dispatch:
pull_request:
branches:
- 'main'
- 'branch_10x'
paths:
- '.github/workflows/run-checks-gradle-upgrade.yml'
- 'gradle/wrapper/**'
push:
branches:
- 'main'
- 'branch_10x'
paths:
- '.github/workflows/run-checks-gradle-upgrade.yml'
- 'gradle/wrapper/**'
permissions: {}
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
jobs:
gradleScriptBootstrapCheck:
name: "Check gradle boostrap script sanity on old JVMs."
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: 'temurin'
java-version: 11
java-package: jdk
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- shell: bash
run: |
set +e
output=$(./gradlew 2>&1)
if [[ "$output" == *"ERROR: java version must be"* ]]; then
echo "Passed."
else
echo "Something is not right: gradlew command returned suspicious output or status code on JDK 11"
echo -e "gradlew output echoed below:\n\n$output\n\n---(end of output)"
exit 1
fi
gradleSanityCheck:
name: "Run tasks (java: ${{ matrix.java-version }}, alt-java: ${{ matrix.uses-alt-java }})"
timeout-minutes: 30
needs: gradleScriptBootstrapCheck
strategy:
matrix:
os: [ ubuntu-latest ]
java-version: [ '25' ]
uses-alt-java: [ true, false ]
runs-on: ${{ matrix.os }}
env:
ALT_JAVA_DIR: /tmp/alt-java
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: ./.github/actions/prepare-for-build
with:
java-version: ${{ matrix.java-version }}
use-cache: false
- name: Set up RUNTIME_JAVA_HOME variable
if: ${{ matrix.uses-alt-java }}
run: |
echo "All installed JDKs:"
set | grep "JAVA"
echo "Gradle's 'RUNTIME_JAVA_HOME' JDK:"
RUNTIME_JAVA_HOME_VAR=JAVA_HOME_$(echo "$JAVA_VERSION" | grep -E --only "[0-9]+")_X64
echo "${RUNTIME_JAVA_HOME_VAR}" points at "${!RUNTIME_JAVA_HOME_VAR}"
# Copy the JDK from its default location to /tmp so that it appears different to gradle.
rsync -av "${!RUNTIME_JAVA_HOME_VAR}/" "${ALT_JAVA_DIR}/"
# This sets the environment variable and makes it available for subsequent job steps.
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable
echo "RUNTIME_JAVA_HOME=$ALT_JAVA_DIR" >> "$GITHUB_ENV"
env:
JAVA_VERSION: ${{ matrix.java-version }}
- name: ./gradlew tidy
run: |
./gradlew tidy
if [ ! -z "$(git status --porcelain)" ]; then
echo ":warning: **tidy left local checkout in modified state**" >> "$GITHUB_STEP_SUMMARY"
echo '```' >> "$GITHUB_STEP_SUMMARY"
git status --porcelain >> "$GITHUB_STEP_SUMMARY"
echo '```' >> "$GITHUB_STEP_SUMMARY"
git reset --hard && git clean -xfd .
fi
- name: ./gradlew regenerate
run: |
# add this package for generateEmojiTokenizationTestChecksumLoad.
sudo apt-get install libwww-perl
./gradlew regenerate -x regenerateUAX29URLEmailTokenizer --rerun-tasks
if [ ! -z "$(git status --porcelain)" ]; then
echo ":warning: **regenerate left local checkout in modified state**" >> "$GITHUB_STEP_SUMMARY"
echo '```' >> "$GITHUB_STEP_SUMMARY"
git status --porcelain >> "$GITHUB_STEP_SUMMARY"
echo '```' >> "$GITHUB_STEP_SUMMARY"
git reset --hard && git clean -xfd .
fi
- run: ./gradlew allOptions
- run: ./gradlew helpWorkflow
- run: ./gradlew licenses writeChecksums
- run: ./gradlew check -x test
- run: ./gradlew assembleRelease mavenToLocal
- run: ./gradlew eclipse
# Conserve resources: only run these in non-alt-java mode.
- run: ./gradlew getGeoNames
if: ${{ !matrix.uses-alt-java }}