88 paths-ignore :
99 - ' **/*.md'
1010
11- # First build on Linux with JDK 8 and Windows with JDK 11
11+ # First build on Linux and Windows with JDK 21 (LTS)
1212# Then run tests with various JDK and GWT versions (Linux only)
1313jobs :
1414 linux :
1919 - uses : actions/setup-java@v4
2020 with :
2121 distribution : ' temurin'
22- java-version : ' 8 '
22+ java-version : ' 21 '
2323
2424 - name : Cache Maven dependencies
2525 uses : actions/cache@v4
5050 - uses : actions/setup-java@v4
5151 with :
5252 distribution : ' temurin'
53- java-version : ' 11 '
53+ java-version : ' 21 '
5454
5555 - name : Cache Maven dependencies
5656 uses : actions/cache@v4
@@ -73,13 +73,13 @@ jobs:
7373 name : windows-reports
7474 path : target/it-tests/*/build.log
7575
76+ # Note: GWT 2.12 requires JDK 11, so JDK 8 compatibility will be tested independently
7677 test-jdks :
7778 needs : linux
7879 runs-on : ubuntu-latest
7980 strategy :
8081 matrix :
81- java : [ '11', '17', '21' ]
82- continue-on-error : ${{ matrix.java == '21' }}
82+ java : [ '11', '17' ]
8383 steps :
8484 - uses : actions/checkout@v4
8585
8989 distribution : temurin
9090 java-version : |
9191 ${{ matrix.java }}
92- 8
92+ 21
9393
9494 - name : Cache Maven dependencies
9595 uses : actions/cache@v4
@@ -117,15 +117,15 @@ jobs:
117117 runs-on : ubuntu-latest
118118 strategy :
119119 matrix :
120- gwt : ["2.10 .0", "HEAD-SNAPSHOT"]
120+ gwt : ["2.11 .0", "HEAD-SNAPSHOT"]
121121 continue-on-error : ${{ matrix.gwt == 'HEAD-SNAPSHOT' }}
122122 steps :
123123 - uses : actions/checkout@v4
124124
125125 - uses : actions/setup-java@v4
126126 with :
127127 distribution : ' temurin'
128- java-version : ' 8 '
128+ java-version : ' 21 '
129129
130130 - name : Cache Maven dependencies
131131 uses : actions/cache@v4
@@ -150,12 +150,49 @@ jobs:
150150 name : gwt-${{ matrix.gwt }}-reports
151151 path : target/it-tests/*/build.log
152152
153+ # GWT 2.12 requires JDK 11, so test JDK 8 with 2.11
154+ test-jdk8-gwt211 :
155+ needs : linux
156+ runs-on : ubuntu-latest
157+ steps :
158+ - uses : actions/checkout@v4
159+
160+ - name : Setup JDK 8
161+ uses : actions/setup-java@v4
162+ with :
163+ distribution : temurin
164+ java-version : |
165+ 8
166+ 21
167+
168+ - name : Cache Maven dependencies
169+ uses : actions/cache@v4
170+ with :
171+ path : |
172+ ~/.m2/repository/
173+ !~/.m2/repository/**/*-SNAPSHOT/
174+ target/it-repo/
175+ !target/it-repo/**/*-SNAPSHOT/
176+ key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
177+
178+ - name : Build with Maven
179+ id : maven-build
180+ run : mvn -B -U -ntp verify --fail-at-end "-Dinvoker.javaHome=$JAVA_HOME_8_X64" -DgwtVersion=2.11.0
181+
182+ - name : Store reports
183+ if : always() && (steps.maven-build.outcome == 'success' || steps.maven-build.outcome == 'failure')
184+ uses : actions/upload-artifact@v4
185+ with :
186+ name : jdk-8-reports
187+ path : target/it-tests/*/build.log
188+
153189 deploy_snapshot :
154190 needs :
155191 - linux
156192 - windows
157193 - test-jdks
158194 - test-gwt
195+ - test-jdk8-gwt211
159196 if : github.event_name == 'push' && github.ref == 'refs/heads/main'
160197 runs-on : ubuntu-latest
161198 steps :
@@ -164,7 +201,7 @@ jobs:
164201 - uses : actions/setup-java@v4
165202 with :
166203 distribution : ' temurin'
167- java-version : ' 11 '
204+ java-version : ' 21 '
168205 server-id : ' ossrh'
169206 server-username : OSSRH_USERNAME
170207 server-password : OSSRH_TOKEN
0 commit comments