1
+ name : JWA Integration Test
2
+ on :
3
+ pull_request :
4
+ paths :
5
+ - components/crud-web-apps/jupyter/**
6
+ - components/crud-web-apps/common/**
7
+ - releasing/version/VERSION
8
+ branches :
9
+ - main
10
+ - notebooks-v1
11
+ - ' v*-branch'
12
+
13
+ concurrency :
14
+ group : ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }}
15
+ cancel-in-progress : true
16
+
17
+ env :
18
+ IMG : ghcr.io/kubeflow/notebooks/jupyter-web-app
19
+ TAG : integration-test
20
+
21
+ jobs :
22
+ build :
23
+ runs-on : ubuntu-22.04
24
+ steps :
25
+ - name : Checkout
26
+ uses : actions/checkout@v4
27
+
28
+ - name : Setup Docker Buildx
29
+ uses : docker/setup-buildx-action@v3
30
+
31
+ - name : Build JWA Image
32
+ run : |
33
+ cd components/crud-web-apps/jupyter
34
+ make docker-build-multi-arch
35
+
36
+ - name : Install KinD
37
+ run : ./components/testing/gh-actions/install_kind.sh
38
+
39
+ - name : Create KinD Cluster
40
+ run : kind create cluster --config components/testing/gh-actions/kind-1-25.yaml
41
+
42
+ - name : Load Image into KinD Cluster
43
+ run : |
44
+ kind load docker-image "${IMG}:${TAG}"
45
+
46
+ - name : Install kustomize
47
+ run : ./components/testing/gh-actions/install_kustomize.sh
48
+
49
+ - name : Install Istio
50
+ run : ./components/testing/gh-actions/install_istio.sh
51
+
52
+ - name : Build & Apply manifests
53
+ run : |
54
+ cd components/crud-web-apps/jupyter/manifests
55
+ kubectl create ns kubeflow
56
+
57
+ export CURRENT_IMAGE="${IMG}"
58
+ export PR_IMAGE="${IMG}:${TAG}"
59
+
60
+ # escape "." in the image names, as it is a special characters in sed
61
+ export CURRENT_IMAGE=$(echo "$CURRENT_IMAGE" | sed 's|\.|\\.|g')
62
+ export PR_IMAGE=$(echo "$PR_IMAGE" | sed 's|\.|\\.|g')
63
+
64
+ kustomize build overlays/istio \
65
+ | sed "s|${CURRENT_IMAGE}:[a-zA-Z0-9_.-]*|${PR_IMAGE}|g" \
66
+ | kubectl apply -f -
67
+
68
+ kubectl wait pods -n kubeflow -l app=jupyter-web-app --for=condition=Ready --timeout=300s
0 commit comments