Skip to content

Commit 9b2536f

Browse files
committed
Improve github workflows
1 parent eb1860b commit 9b2536f

2 files changed

Lines changed: 29 additions & 14 deletions

File tree

.github/workflows/workflows.yaml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ jobs:
99
fail-fast: false
1010
matrix:
1111
java: [ 11 ]
12-
kubernetes: [ 'v1.21.6', 'v1.20.12', 'v1.19.16', 'v1.18.20', 'v1.17.17', 'v1.16.15']
12+
kubernetes:
13+
- 'v1.22.17'
14+
- 'v1.23.15'
15+
- 'v1.24.9'
16+
- 'v1.25.5'
1317

1418
steps:
1519
- uses: actions/checkout@v2
@@ -24,10 +28,16 @@ jobs:
2428
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
2529
restore-keys: ${{ runner.os }}-m2
2630
- name: Setup Minikube
27-
uses: manusa/actions-setup-minikube@v2.4.2
31+
uses: manusa/actions-setup-minikube@v2.7.2
2832
with:
29-
minikube version: 'v1.16.0'
33+
minikube version: 'v1.28.0'
3034
kubernetes version: ${{ matrix.kubernetes }}
35+
github token: ${{ secrets.GITHUB_TOKEN }}
36+
- name: Pull images
37+
run: |
38+
minikube image pull ledfan/shinyproxy:3.0.0-SNAPSHOT-20230116.114943
39+
minikube image pull openanalytics/shinyproxy-demo
40+
minikube image pull curlimages/curl:latest
3141
- name: Build with Maven
3242
run: mvn -B -U clean install -DskipTests
3343
- name: Run Tests

src/test/kotlin/eu/openanalytics/shinyproxyoperator/helpers/IntegrationTestBase.kt

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import kotlinx.coroutines.delay
3838
import kotlinx.coroutines.launch
3939
import kotlinx.coroutines.runBlocking
4040
import kotlinx.coroutines.withTimeout
41+
import java.util.concurrent.RejectedExecutionException
4142

4243

4344
abstract class IntegrationTestBase {
@@ -60,7 +61,7 @@ abstract class IntegrationTestBase {
6061
Runtime.getRuntime().addShutdownHook(Thread {
6162
runBlocking {
6263
deleteNamespaces()
63-
deleteCRD(stableClient)
64+
deleteCRD()
6465
}
6566
})
6667

@@ -126,20 +127,24 @@ abstract class IntegrationTestBase {
126127
}
127128

128129
private suspend fun deleteNamespaces() {
129-
for (managedNamespace in managedNamespaces) {
130-
val ns = stableClient.namespaces().withName(managedNamespace).get() ?: continue
131-
try {
132-
stableClient.namespaces().delete(ns)
133-
} catch (e: KubernetesClientException) {
134-
// this namespace is probably all being deleted
135-
}
136-
while (stableClient.namespaces().withName(managedNamespace).get() != null) {
130+
do {
131+
for (managedNamespace in managedNamespaces) {
132+
val ns = stableClient.namespaces().withName(managedNamespace).get() ?: continue
133+
try {
134+
stableClient.namespaces().resource(ns).delete()
135+
} catch (_: KubernetesClientException) {
136+
// this namespace is probably all being deleted
137+
} catch (_: RejectedExecutionException) {
138+
// ignore error as long as ns get deleted
139+
} catch (_: InterruptedException) {
140+
// ignore error as long as ns get deleted
141+
}
137142
delay(1000)
138143
}
139-
}
144+
} while (managedNamespaces.any { stableClient.namespaces().withName(it).get() != null })
140145
}
141146

142-
private suspend fun deleteCRD(client: DefaultKubernetesClient) {
147+
private suspend fun deleteCRD() {
143148
val crd = stableClient.apiextensions().v1().customResourceDefinitions().load(this.javaClass.getResource("/crd.yaml")).get()
144149
stableClient.apiextensions().v1().customResourceDefinitions().delete(crd)
145150
delay(2000)

0 commit comments

Comments
 (0)