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