@@ -14,47 +14,47 @@ jobs:
1414 timeout-minutes : 30
1515 steps :
1616 - name : Checkout repo
17- uses : actions/checkout@v5
17+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
1818 with :
1919 fetch-depth : 0
2020 submodules : recursive
2121 ref : ${{ github.event.pull_request.head.sha }}
2222
2323 - name : Set up Java
24- uses : actions/setup-java@v5
24+ uses : actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
2525 with :
2626 java-version : " 23"
2727 distribution : " temurin"
2828
2929 - name : Set up Gradle
30- uses : gradle/actions/setup-gradle@v5
30+ uses : gradle/actions/setup-gradle@ac396bf1a80af16236baf54bd7330ae21dc6ece5 # v6
3131
32- - name : Run unit tests
32+ - name : Run unit tests (Java 23)
3333 env :
3434 USER : unittest
3535 USE_DOCKER_SERVICE : false
36- run : ./gradlew --no-daemon test -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest
36+ run : ./gradlew --no-daemon test -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest -PtestJavaVersion=23
3737
3838 - name : Run independent resource tuner test
3939 env :
4040 USER : unittest
4141 USE_DOCKER_SERVICE : false
42- run : ./gradlew --no-daemon temporal-sdk:testResourceIndependent -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest
42+ run : ./gradlew --no-daemon temporal-sdk:testResourceIndependent -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest -PtestJavaVersion=23
4343
4444 - name : Run Spring Boot 3 compatibility tests
4545 env :
4646 USER : unittest
4747 USE_DOCKER_SERVICE : false
48- run : ./gradlew --no-daemon :temporal-spring-boot-autoconfigure:test -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest -P springBoot3Test
48+ run : ./gradlew --no-daemon :temporal-spring-boot-autoconfigure:test -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest -P springBoot3Test -PtestJavaVersion=23
4949
5050 - name : Run Spring Boot 4 compatibility tests
5151 env :
5252 USER : unittest
5353 USE_DOCKER_SERVICE : false
54- run : ./gradlew --no-daemon :temporal-spring-boot-autoconfigure:test -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest -P springBoot4Test
54+ run : ./gradlew --no-daemon :temporal-spring-boot-autoconfigure:test -x spotlessCheck -x spotlessApply -x spotlessJava -P edgeDepsTest -P springBoot4Test -PtestJavaVersion=23
5555
5656 - name : Publish Test Report
57- uses : mikepenz/action-junit-report@v6
57+ uses : mikepenz/action-junit-report@bccf2e31636835cf0874589931c4116687171386 # v6
5858 if : success() || failure() # always run even if the previous step fails
5959 with :
6060 report_paths : " **/build/test-results/test/TEST-*.xml"
@@ -65,22 +65,22 @@ jobs:
6565 timeout-minutes : 30
6666 steps :
6767 - name : Checkout repo
68- uses : actions/checkout@v5
68+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
6969 with :
7070 fetch-depth : 0
7171 submodules : recursive
7272 ref : ${{ github.event.pull_request.head.sha }}
7373
7474 - name : Set up Java
75- uses : actions/setup-java@v5
75+ uses : actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
7676 with :
7777 java-version : |
78- 23
7978 11
79+ 23
8080 distribution : " temurin"
8181
8282 - name : Set up Gradle
83- uses : gradle/actions/setup-gradle@v5
83+ uses : gradle/actions/setup-gradle@ac396bf1a80af16236baf54bd7330ae21dc6ece5 # v6
8484
8585 - name : Start containerized server and dependencies
8686 env :
@@ -113,28 +113,32 @@ jobs:
113113 --dynamic-config-value 'component.callbacks.allowedAddresses=[{"Pattern":"localhost:7243","AllowInsecure":true}]' &
114114 sleep 10s
115115
116- - name : Run unit tests
116+ # Can't actually run tests against Java 8 because Mockito 5 requires Java 11+.
117+ # We therefore have to rely on the fact that the code has been compiled with
118+ # `-release 8` which guarantees that the code is technically (bytecode + API
119+ # usage) compatible with Java 8.
120+ - name : Run unit tests (Java 11)
117121 env :
118122 USER : unittest
119123 TEMPORAL_SERVICE_ADDRESS : localhost:7233
120124 USE_DOCKER_SERVICE : true
121- run : ./gradlew --no-daemon test -x spotlessCheck -x spotlessApply -x spotlessJava
125+ run : ./gradlew --no-daemon test -x spotlessCheck -x spotlessApply -x spotlessJava -PtestJavaVersion=11
122126
123- - name : Run Jackson 3 converter tests
127+ - name : Run Jackson 3 converter tests (Java 17)
124128 env :
125129 USER : unittest
126130 USE_DOCKER_SERVICE : false
127- run : ./gradlew --no-daemon :temporal-sdk:jackson3Tests -x spotlessCheck -x spotlessApply -x spotlessJava
131+ run : ./gradlew --no-daemon :temporal-sdk:jackson3Tests -x spotlessCheck -x spotlessApply -x spotlessJava -PtestJavaVersion=17
128132
129- - name : Run virtual thread tests
133+ - name : Run virtual thread tests (Java 21)
130134 env :
131135 USER : unittest
132136 TEMPORAL_SERVICE_ADDRESS : localhost:7233
133137 USE_DOCKER_SERVICE : true
134- run : ./gradlew --no-daemon :temporal-sdk:virtualThreadTests -x spotlessCheck -x spotlessApply -x spotlessJava
138+ run : ./gradlew --no-daemon :temporal-sdk:virtualThreadTests -x spotlessCheck -x spotlessApply -x spotlessJava -PtestJavaVersion=21
135139
136140 - name : Publish Test Report
137- uses : mikepenz/action-junit-report@v6
141+ uses : mikepenz/action-junit-report@bccf2e31636835cf0874589931c4116687171386 # v6
138142 if : success() || failure() # always run even if the previous step fails
139143 with :
140144 report_paths : " **/build/test-results/test/TEST-*.xml"
@@ -145,20 +149,20 @@ jobs:
145149 timeout-minutes : 30
146150 steps :
147151 - name : Checkout repo
148- uses : actions/checkout@v5
152+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
149153 with :
150154 fetch-depth : 0
151155 submodules : recursive
152156 ref : ${{ github.event.pull_request.head.sha }}
153157
154158 - name : Set up Java
155- uses : actions/setup-java@v5
159+ uses : actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
156160 with :
157- java-version : " 11 "
161+ java-version : " 23 "
158162 distribution : " temurin"
159163
160164 - name : Set up Gradle
161- uses : gradle/actions/setup-gradle@v5
165+ uses : gradle/actions/setup-gradle@ac396bf1a80af16236baf54bd7330ae21dc6ece5 # v6
162166
163167 - name : Run cloud test
164168 # Only supported in non-fork runs, since secrets are not available in forks. We intentionally
@@ -173,7 +177,7 @@ jobs:
173177 run : ./gradlew --no-daemon :temporal-sdk:test --tests '*CloudOperationsClientTest'
174178
175179 - name : Publish Test Report
176- uses : mikepenz/action-junit-report@v6
180+ uses : mikepenz/action-junit-report@bccf2e31636835cf0874589931c4116687171386 # v6
177181 if : success() || failure() # always run even if the previous step fails
178182 with :
179183 report_paths : " **/build/test-results/test/TEST-*.xml"
@@ -184,20 +188,20 @@ jobs:
184188 timeout-minutes : 20
185189 steps :
186190 - name : Checkout repo
187- uses : actions/checkout@v5
191+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
188192 with :
189193 fetch-depth : 0
190194 submodules : recursive
191195 ref : ${{ github.event.pull_request.head.sha }}
192196
193197 - name : Set up Java
194- uses : actions/setup-java@v5
198+ uses : actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
195199 with :
196200 java-version : " 23"
197201 distribution : " temurin"
198202
199203 - name : Set up Gradle
200- uses : gradle/actions/setup-gradle@v5
204+ uses : gradle/actions/setup-gradle@ac396bf1a80af16236baf54bd7330ae21dc6ece5 # v6
201205
202206 - name : Run copyright and code format checks
203207 run : ./gradlew --no-daemon spotlessCheck
@@ -208,20 +212,20 @@ jobs:
208212 timeout-minutes : 20
209213 steps :
210214 - name : Checkout repo
211- uses : actions/checkout@v5
215+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
212216 with :
213217 fetch-depth : 0
214218 submodules : recursive
215219 ref : ${{ github.event.pull_request.head.sha }}
216220
217221 - name : Set up Java
218- uses : actions/setup-java@v5
222+ uses : actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
219223 with :
220224 java-version : " 23"
221225 distribution : " temurin"
222226
223227 - name : Set up Gradle
224- uses : gradle/actions/setup-gradle@v5
228+ uses : gradle/actions/setup-gradle@ac396bf1a80af16236baf54bd7330ae21dc6ece5 # v6
225229
226230 - name : Run javadoc
227231 run : ./gradlew --no-daemon javadoc
0 commit comments