1+ name : Tensorboard Controller Integration Test
2+ on :
3+ pull_request :
4+ paths :
5+ - components/tensorboard-controller/**
6+ - releasing/version/VERSION
7+ branches :
8+ - main
9+ - v*-branch
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/tensorboard-controller
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 : Build Tensorboard Controller Image
28+ run : |
29+ cd components/tensorboard-controller
30+ make docker-build
31+
32+ - name : Install KinD
33+ run : ./components/testing/gh-actions/install_kind.sh
34+
35+ - name : Create KinD Cluster
36+ run : kind create cluster --config components/testing/gh-actions/kind-1-25.yaml
37+
38+ - name : Load Images into KinD Cluster
39+ run : |
40+ kind load docker-image "${IMG}:${TAG}"
41+
42+ - name : Install kustomize
43+ run : ./components/testing/gh-actions/install_kustomize.sh
44+
45+ - name : Install Istio
46+ run : ./components/testing/gh-actions/install_istio.sh
47+
48+ - name : Build & Apply manifests
49+ run : |
50+ cd components/tensorboard-controller/config
51+ kubectl create ns kubeflow
52+
53+ export CURRENT_IMAGE="${IMG}"
54+ export PR_IMAGE="${IMG}:${TAG}"
55+
56+ # escape "." in the image names, as it is a special characters in sed
57+ export CURRENT_IMAGE=$(echo "$CURRENT_IMAGE" | sed 's|\.|\\.|g')
58+ export PR_IMAGE=$(echo "$PR_IMAGE" | sed 's|\.|\\.|g')
59+
60+ kustomize build overlays/kubeflow \
61+ | sed "s|${CURRENT_IMAGE}:[a-zA-Z0-9_.-]*|${PR_IMAGE}|g" \
62+ | kubectl apply -f -
63+
64+ kubectl wait pods -n kubeflow -l app=tensorboard-controller --for=condition=Ready --timeout=300s
0 commit comments