3333 - uses : actions/setup-java@v4
3434 with :
3535 distribution : temurin
36- java-version : ' 17'
36+ java-version : |
37+ 17
38+ 21
39+ 24
3740 - uses : gradle/actions/setup-gradle@v4
3841 - name : Compile all :ksafe targets
3942 run : ./gradlew :ksafe:compileKotlinJvm :ksafe:compileKotlinJs :ksafe:compileKotlinWasmJs :ksafe:compileKotlinMetadata --stacktrace
@@ -60,15 +63,19 @@ jobs:
6063 # drainable; full intensity remains the local default.
6164 # ---------------------------------------------------------------------------
6265 jvm-full-suite :
63- name : Full JVM suite
66+ name : Full JVM suite (Java ${{ matrix.java }})
6467 runs-on : ubuntu-latest
6568 timeout-minutes : 20
69+ strategy :
70+ fail-fast : false
71+ matrix :
72+ java : [ '17', '21', '24' ]
6673 steps :
6774 - uses : actions/checkout@v4
6875 - uses : actions/setup-java@v4
6976 with :
7077 distribution : temurin
71- java-version : ' 17 '
78+ java-version : ${{ matrix.java }}
7279 - uses : gradle/actions/setup-gradle@v4
7380 # -PksafeTestLog kept ON: scaling the stress magnitude alone did NOT
7481 # stop the 2-vCPU hang, so a specific test deadlocks (not a throughput
@@ -158,17 +165,21 @@ jobs:
158165 # Linux Secret Service (libsecret) — real gnome-keyring under a dbus session.
159166 # ---------------------------------------------------------------------------
160167 keyvault-linux :
161- name : Key vault IT — Linux Secret Service
168+ name : Key vault IT — Linux Secret Service (Java ${{ matrix.java }})
162169 runs-on : ubuntu-latest
163170 timeout-minutes : 30
171+ strategy :
172+ fail-fast : false
173+ matrix :
174+ java : [ '17', '21', '24' ]
164175 env :
165176 KSAFE_KEYVAULT_IT : " 1"
166177 steps :
167178 - uses : actions/checkout@v4
168179 - uses : actions/setup-java@v4
169180 with :
170181 distribution : temurin
171- java-version : ' 17 '
182+ java-version : ${{ matrix.java }}
172183 - uses : gradle/actions/setup-gradle@v4
173184 - name : Install gnome-keyring + libsecret
174185 run : |
@@ -203,9 +214,13 @@ jobs:
203214 # Windows DPAPI — available for the runner user out of the box.
204215 # ---------------------------------------------------------------------------
205216 keyvault-windows :
206- name : Key vault IT — Windows DPAPI
217+ name : Key vault IT — Windows DPAPI (Java ${{ matrix.java }})
207218 runs-on : windows-latest
208219 timeout-minutes : 30
220+ strategy :
221+ fail-fast : false
222+ matrix :
223+ java : [ '17', '21', '24' ]
209224 defaults :
210225 run :
211226 shell : bash
@@ -216,7 +231,7 @@ jobs:
216231 - uses : actions/setup-java@v4
217232 with :
218233 distribution : temurin
219- java-version : ' 17 '
234+ java-version : ${{ matrix.java }}
220235 - uses : gradle/actions/setup-gradle@v4
221236 - name : Key vault integration test (DPAPI)
222237 run : ./gradlew :ksafe:jvmTest --tests 'eu.anifantakis.lib.ksafe.JvmKeyVaultIntegrationTest' --tests 'eu.anifantakis.lib.ksafe.Jvm200To210FixtureTest' --tests 'eu.anifantakis.lib.ksafe.JvmKeyVaultMigrationTest' --no-daemon --no-configuration-cache --stacktrace
@@ -233,17 +248,21 @@ jobs:
233248 # there are no GUI access prompts and no developer-keychain pollution.
234249 # ---------------------------------------------------------------------------
235250 keyvault-macos :
236- name : Key vault IT — macOS Keychain
251+ name : Key vault IT — macOS Keychain (Java ${{ matrix.java }})
237252 runs-on : macos-latest
238253 timeout-minutes : 30
254+ strategy :
255+ fail-fast : false
256+ matrix :
257+ java : [ '17', '21', '24' ]
239258 env :
240259 KSAFE_KEYVAULT_IT : " 1"
241260 steps :
242261 - uses : actions/checkout@v4
243262 - uses : actions/setup-java@v4
244263 with :
245264 distribution : temurin
246- java-version : ' 17 '
265+ java-version : ${{ matrix.java }}
247266 - uses : gradle/actions/setup-gradle@v4
248267 - name : Create + unlock a dedicated keychain
249268 run : |
0 commit comments