8
8
paths-ignore :
9
9
- ' **/*.md'
10
10
11
- # First build on Linux with JDK 8 and Windows with JDK 11
11
+ # First build on Linux and Windows with JDK 21 (LTS)
12
12
# Then run tests with various JDK and GWT versions (Linux only)
13
13
jobs :
14
14
linux :
19
19
- uses : actions/setup-java@v4
20
20
with :
21
21
distribution : ' temurin'
22
- java-version : ' 8 '
22
+ java-version : ' 21 '
23
23
24
24
- name : Cache Maven dependencies
25
25
uses : actions/cache@v4
50
50
- uses : actions/setup-java@v4
51
51
with :
52
52
distribution : ' temurin'
53
- java-version : ' 11 '
53
+ java-version : ' 21 '
54
54
55
55
- name : Cache Maven dependencies
56
56
uses : actions/cache@v4
@@ -73,13 +73,13 @@ jobs:
73
73
name : windows-reports
74
74
path : target/it-tests/*/build.log
75
75
76
+ # Note: GWT 2.12 requires JDK 11, so JDK 8 compatibility will be tested independently
76
77
test-jdks :
77
78
needs : linux
78
79
runs-on : ubuntu-latest
79
80
strategy :
80
81
matrix :
81
- java : [ '11', '17', '21' ]
82
- continue-on-error : ${{ matrix.java == '21' }}
82
+ java : [ '11', '17' ]
83
83
steps :
84
84
- uses : actions/checkout@v4
85
85
89
89
distribution : temurin
90
90
java-version : |
91
91
${{ matrix.java }}
92
- 8
92
+ 21
93
93
94
94
- name : Cache Maven dependencies
95
95
uses : actions/cache@v4
@@ -117,15 +117,15 @@ jobs:
117
117
runs-on : ubuntu-latest
118
118
strategy :
119
119
matrix :
120
- gwt : ["2.10 .0", "HEAD-SNAPSHOT"]
120
+ gwt : ["2.11 .0", "HEAD-SNAPSHOT"]
121
121
continue-on-error : ${{ matrix.gwt == 'HEAD-SNAPSHOT' }}
122
122
steps :
123
123
- uses : actions/checkout@v4
124
124
125
125
- uses : actions/setup-java@v4
126
126
with :
127
127
distribution : ' temurin'
128
- java-version : ' 8 '
128
+ java-version : ' 21 '
129
129
130
130
- name : Cache Maven dependencies
131
131
uses : actions/cache@v4
@@ -150,12 +150,49 @@ jobs:
150
150
name : gwt-${{ matrix.gwt }}-reports
151
151
path : target/it-tests/*/build.log
152
152
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
+
153
189
deploy_snapshot :
154
190
needs :
155
191
- linux
156
192
- windows
157
193
- test-jdks
158
194
- test-gwt
195
+ - test-jdk8-gwt211
159
196
if : github.event_name == 'push' && github.ref == 'refs/heads/main'
160
197
runs-on : ubuntu-latest
161
198
steps :
@@ -164,7 +201,7 @@ jobs:
164
201
- uses : actions/setup-java@v4
165
202
with :
166
203
distribution : ' temurin'
167
- java-version : ' 11 '
204
+ java-version : ' 21 '
168
205
server-id : ' ossrh'
169
206
server-username : OSSRH_USERNAME
170
207
server-password : OSSRH_TOKEN
0 commit comments