@@ -23,11 +23,10 @@ jobs:
2323 uses : actions/checkout@v4
2424 with :
2525 fetch-depth : 0
26- - name : Install JDK 11
27- uses : actions/setup-java@v4
26+ - uses : actions/setup-java@v4
2827 with :
2928 distribution : " temurin"
30- java-version : 11
29+ java-version : 21
3130 - name : gradle caching
3231 uses : gradle/actions/setup-gradle@v4
3332 - name : spotlessCheck
@@ -41,33 +40,25 @@ jobs:
4140 matrix :
4241 kind : [maven, gradle]
4342 # Test on the latest Java version once Gradle & Maven support it.
44- jre : [11, 17, 21, 24]
45- os : [ubuntu-latest]
43+ jre : [17, 21, 24]
44+ os : [ubuntu-latest, windows-latest ]
4645 include :
47- # test windows at the diagonals of the above matrix
48- - kind : maven
49- jre : 11
50- os : windows-latest
51- - kind : gradle
52- jre : 17
53- os : windows-latest
5446 # npm on linux only (crazy slow on windows)
5547 - kind : npm
56- jre : 11
48+ jre : 17
5749 os : ubuntu-latest
5850 - kind : shfmt
59- jre : 11
51+ jre : 17
6052 os : ubuntu-latest
6153 shfmt-version : v3.8.0
6254 - kind : idea
63- jre : 11
55+ jre : 17
6456 os : ubuntu-latest
6557 runs-on : ${{ matrix.os }}
6658 steps :
6759 - name : Checkout
6860 uses : actions/checkout@v4
69- - name : Install JDK ${{ matrix.distribution }} ${{ matrix.java_version }}
70- uses : actions/setup-java@v4
61+ - uses : actions/setup-java@v4
7162 with :
7263 distribution : " temurin"
7364 java-version : ${{ matrix.jre }}
@@ -111,3 +102,37 @@ jobs:
111102 check_name : JUnit ${{ matrix.kind }} ${{ matrix.jre }} ${{ matrix.os }}
112103 report_paths : ' */build/test-results/*/TEST-*.xml'
113104 check_retries : true
105+
106+ # Gradle 9 requires Java 17 or higher, we use Gradle 8.14 (instead of gradlew) to build on Java 11.
107+ build-on-java-11 :
108+ needs : sanityCheck
109+ strategy :
110+ fail-fast : false
111+ matrix :
112+ kind : [maven, gradle]
113+ jre : [11]
114+ os : [ubuntu-latest]
115+ runs-on : ${{ matrix.os }}
116+ steps :
117+ - name : Checkout
118+ uses : actions/checkout@v4
119+ - uses : actions/setup-java@v4
120+ with :
121+ distribution : " temurin"
122+ java-version : ${{ matrix.jre }}
123+ - uses : gradle/actions/setup-gradle@v4
124+ with :
125+ gradle-version : 8.14.2
126+ - name : build (maven-only)
127+ if : matrix.kind == 'maven'
128+ run : gradle :plugin-maven:build -x spotlessCheck
129+ - name : build (everything-but-maven)
130+ if : matrix.kind == 'gradle'
131+ run : gradle build -x spotlessCheck -PSPOTLESS_EXCLUDE_MAVEN=true
132+ - name : junit result
133+ uses : mikepenz/action-junit-report@v5
134+ if : always() # always run even if the previous step fails
135+ with :
136+ check_name : JUnit ${{ matrix.kind }} ${{ matrix.jre }} ${{ matrix.os }}
137+ report_paths : ' */build/test-results/*/TEST-*.xml'
138+ check_retries : true
0 commit comments