Skip to content

Build on latest Java, test through lowest possible - approach 2 #654

Build on latest Java, test through lowest possible - approach 2

Build on latest Java, test through lowest possible - approach 2 #654

Workflow file for this run

name: Java cross-version tests
on:
push:
branches:
- master
- "szpak/**"
- "marc/**"
pull_request:
branches:
- '*'
merge_group:
jobs:
openjdk:
strategy:
matrix:
# TODO: Add 19+
jdk: [11, 17]
testJdk: [auto, 8]
name: "OpenJDK ${{ matrix.jdk }} (with testJDK ${{ matrix.testJdk }})"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: 'zulu'
- uses: gradle/gradle-build-action@v2
# Workaround https://github.com/ajoberstar/gradle-stutter/issues/22
- name: Reduce number of Gradle regressions builds
run: |
# Keep only the last Gradle version per Stutter matrix; for each line this transformation is done:
# java11=6.2.2,6.9.4,7.0.2,7.6.1,8.0.2,8.1.1,8.2-rc-1
# ->
# java11=8.2-rc-1
# The trick is that \3 will greedily eat everything before the last comma.
sed -r 's/^(.*?)=(.*?),(.*),(.*?)$/\1=\2,\4/g' -i stutter.lockfile
cat stutter.lockfile
- name: Test cross Java versions compatibility
run: |
./gradlew --version
./gradlew -q javaToolchains
./gradlew --stacktrace -PnexusPublishPlugin.test.java=${{ matrix.testJdk }} build compatTestJava${{ matrix.jdk }}