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