Skip to content

Commit 5025a8b

Browse files
milinddethe15Yehudit Kerido
authored andcommitted
fix: Fix Kustomize v5 warnings (kubeflow#94)
* manifest: fix Kustomize 5 warnings in `admission-webhook` Signed-off-by: milinddethe15 <[email protected]> * manifest: fix Kustomize 5 warnings in `centraldashboard-angular` Signed-off-by: milinddethe15 <[email protected]> --------- Signed-off-by: milinddethe15 <[email protected]> ci: Enhance the GHA (kubeflow#101) * Enhance the GHA Signed-off-by: kunal-511 <[email protected]> * Updated the trigger paths Signed-off-by: kunal-511 <[email protected]> * Updated the format Signed-off-by: kunal-511 <[email protected]> * Updated the env and labels Signed-off-by: kunal-511 <[email protected]> * Updated gha to fix errors Signed-off-by: kunal-511 <[email protected]> * Added logs to know error Signed-off-by: kunal-511 <[email protected]> * Removed logs Signed-off-by: kunal-511 <[email protected]> * Update the end point call Signed-off-by: kunal-511 <[email protected]> * Updated the deployment name Signed-off-by: kunal-511 <[email protected]> * Updated the validate-webhook function to use the correct mutating webhook configuration name Signed-off-by: kunal-511 <[email protected]> * updated pod testing Signed-off-by: kunal-511 <[email protected]> * Updated the the kind version Signed-off-by: kunal-511 <[email protected]> * updated namespace Signed-off-by: kunal-511 <[email protected]> * Fixed certificate error Signed-off-by: kunal-511 <[email protected]> * Fixed the casing in docker file Signed-off-by: kunal-511 <[email protected]> * Updated the kfam deployment Signed-off-by: kunal-511 <[email protected]> * Updated the service name Signed-off-by: kunal-511 <[email protected]> * Updated the api call Signed-off-by: kunal-511 <[email protected]> * updated endpoints Signed-off-by: kunal-511 <[email protected]> * Updated the env for end to end test Signed-off-by: kunal-511 <[email protected]> * Updated port forwarding Signed-off-by: kunal-511 <[email protected]> * Port mapping updated Signed-off-by: kunal-511 <[email protected]> * removed logs Signed-off-by: kunal-511 <[email protected]> * Added timeout Signed-off-by: kunal-511 <[email protected]> * Updated the logs Signed-off-by: kunal-511 <[email protected]> * Updated the naming Signed-off-by: kunal-511 <[email protected]> * Updated the naming Signed-off-by: kunal-511 <[email protected]> * Fixed naming Signed-off-by: kunal-511 <[email protected]> --------- Signed-off-by: kunal-511 <[email protected]> testing Migrate kubeflow/kubeflow centraldb_docker_publish.yaml GitHub Action to kubeflow/dashboard - initial Signed-off-by: Yehudit Kerido <[email protected]> testing testing testing testing ci: Migrate kubeflow/kubeflow centraldb_docker_publish.yaml GitHub Action to kubeflow/dashboard Signed-off-by: Yehudit Kerido <[email protected]>
1 parent 8bb91e8 commit 5025a8b

31 files changed

+1437
-269
lines changed

.github/workflows/centraldb_angular_backend_test.yaml renamed to .github/workflows/central_dashboard_angular_backend_test.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
paths:
55
- components/centraldashboard-angular/backend/**
66
- releasing/version/VERSION
7+
- .github/workflows/central_dashboard_angular_backend_test.yaml
78
branches:
89
- main
910
- v*-branch

.github/workflows/centraldb_angular_frontend_test.yaml renamed to .github/workflows/central_dashboard_angular_frontend_test.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
paths:
55
- components/centraldashboard-angular/frontend/**
66
- releasing/version/VERSION
7+
- .github/workflows/central_dashboard_angular_frontend_test.yaml
78
branches:
89
- main
910
- v*-branch
@@ -75,7 +76,7 @@ jobs:
7576
run: ./testing/gh-actions/install_kind.sh
7677

7778
- name: Create KinD Cluster
78-
run: kind create cluster --config testing/gh-actions/kind-1-25.yaml
79+
run: kind create cluster --config testing/gh-actions/kind-1-33.yaml
7980

8081
- name: Install kustomize
8182
run: ./testing/gh-actions/install_kustomize.sh
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
name: CentralDashboard-Angular Integration Test
2+
on:
3+
pull_request:
4+
paths:
5+
- components/centraldashboard-angular/**
6+
- releasing/version/VERSION
7+
- .github/workflows/central_dashboard_angular_integration_test.yaml
8+
branches:
9+
- main
10+
- v*-branch
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/kubeflow/centraldashboard-angular
18+
TAG: integration-test
19+
20+
jobs:
21+
integration-test:
22+
runs-on: ubuntu-22.04
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v4
26+
with:
27+
fetch-depth: 0
28+
29+
- name: Install KinD
30+
run: ./testing/gh-actions/install_kind.sh
31+
32+
- name: Create KinD Cluster
33+
run: kind create cluster --config testing/gh-actions/kind-1-33.yaml
34+
35+
- name: Install kustomize
36+
run: ./testing/gh-actions/install_kustomize.sh
37+
38+
- name: Install Istio
39+
run: ./testing/gh-actions/install_istio.sh
40+
41+
- name: Create Kubeflow Namespace
42+
run: kubectl create namespace kubeflow
43+
44+
- name: Make Scripts Executable
45+
run: chmod +x testing/gh-actions/*.sh
46+
47+
- name: Deploy CentralDashboard-Angular Component
48+
run: |
49+
cd components/centraldashboard-angular
50+
51+
if [ -f "Makefile" ]; then
52+
if grep -q "docker-build-multi-arch" Makefile; then
53+
make docker-build-multi-arch IMG="${IMG}" TAG="${TAG}"
54+
else
55+
make docker-build IMG="${IMG}" TAG="${TAG}"
56+
fi
57+
fi
58+
59+
kind load docker-image "${IMG}:${TAG}"
60+
61+
cd manifests
62+
export CD_NAMESPACE=kubeflow
63+
export CD_CLUSTER_DOMAIN=cluster.local
64+
export CURRENT_IMAGE="${IMG}"
65+
export PR_IMAGE="${IMG}:${TAG}"
66+
export CURRENT_IMAGE_ESCAPED=$(echo "$CURRENT_IMAGE" | sed 's|\.|\\.|g')
67+
export PR_IMAGE_ESCAPED=$(echo "$PR_IMAGE" | sed 's|\.|\\.|g')
68+
69+
kustomize build overlays/kserve \
70+
| sed "s|${CURRENT_IMAGE_ESCAPED}:[a-zA-Z0-9_.-]*|${PR_IMAGE_ESCAPED}|g" \
71+
| sed "s|\$(CD_NAMESPACE)|${CD_NAMESPACE}|g" \
72+
| sed "s|\$(CD_CLUSTER_DOMAIN)|${CD_CLUSTER_DOMAIN}|g" \
73+
| kubectl apply -f -
74+
75+
- name: Wait for CentralDashboard-Angular to be Ready
76+
run: |
77+
kubectl wait --for=condition=Ready pods -n kubeflow -l app=centraldashboard-angular --timeout=300s
78+
kubectl wait --for=condition=Available deployment -n kubeflow centraldashboard-angular --timeout=300s
79+
80+
- name: Validate Service
81+
run: |
82+
./testing/gh-actions/test_service.sh validate-service centraldashboard-angular kubeflow
83+
84+
- name: Start Port Forward for Dashboard Testing
85+
run: |
86+
./testing/gh-actions/test_service.sh port-forward centraldashboard-angular kubeflow 8080 80
87+
88+
- name: Test Dashboard Health
89+
run: |
90+
./testing/gh-actions/test_service.sh test-health centraldashboard-angular kubeflow 8080
91+
92+
- name: Test Dashboard Web Interface
93+
run: |
94+
curl -f "http://localhost:8080/" >/dev/null 2>&1
95+
96+
curl -f "http://localhost:8080/healthz" >/dev/null 2>&1
97+
98+
RESPONSE=$(curl -s "http://localhost:8080/" | head -c 100)
99+
if [[ -n "$RESPONSE" ]]; then
100+
echo "Dashboard is serving content: ${RESPONSE:0:50}..."
101+
else
102+
exit 1
103+
fi
104+
105+
kubectl get service centraldashboard-angular -n kubeflow
106+
kubectl get pods -n kubeflow -l app=centraldashboard-angular
107+
108+
- name: Test Dashboard Performance
109+
run: |
110+
./testing/gh-actions/test_service.sh performance-test centraldashboard-angular kubeflow 8080 80 8
111+
112+
- name: Test Dashboard Metrics
113+
run: |
114+
./testing/gh-actions/test_service.sh test-metrics centraldashboard-angular kubeflow 8080
115+
116+
- name: Check Dashboard Logs
117+
run: |
118+
./testing/gh-actions/test_service.sh check-logs centraldashboard-angular kubeflow 50
119+
120+
- name: Check for Errors in Logs
121+
run: |
122+
./testing/gh-actions/test_service.sh check-errors centraldashboard-angular kubeflow
123+
124+
- name: Stop Port Forward
125+
run: |
126+
./testing/gh-actions/test_service.sh stop-port-forward centraldashboard-angular kubeflow 8080

.github/workflows/centraldb_frontend_tests.yaml renamed to .github/workflows/central_dashboard_frontend_tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
paths:
55
- components/centraldashboard/**
66
- releasing/version/VERSION
7+
- .github/workflows/central_dashboard_frontend_tests.yaml
78
branches:
89
- main
910
- v*-branch
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
name: CentralDashboard Integration Test
2+
on:
3+
pull_request:
4+
paths:
5+
- components/centraldashboard/**
6+
- releasing/version/VERSION
7+
- .github/workflows/central_dashboard_integration_test.yaml
8+
branches:
9+
- main
10+
- v*-branch
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/kubeflow/central-dashboard
18+
TAG: integration-test
19+
20+
jobs:
21+
integration-test:
22+
runs-on: ubuntu-22.04
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v4
26+
with:
27+
fetch-depth: 0
28+
29+
- name: Setup Docker Buildx
30+
uses: docker/setup-buildx-action@v3
31+
32+
- name: Install KinD
33+
run: ./testing/gh-actions/install_kind.sh
34+
35+
- name: Create KinD Cluster
36+
run: kind create cluster --config testing/gh-actions/kind-1-33.yaml
37+
38+
- name: Install kustomize
39+
run: ./testing/gh-actions/install_kustomize.sh
40+
41+
- name: Install Istio
42+
run: ./testing/gh-actions/install_istio.sh
43+
44+
- name: Create Kubeflow Namespace
45+
run: kubectl create namespace kubeflow
46+
47+
- name: Make Scripts Executable
48+
run: chmod +x testing/gh-actions/*.sh
49+
50+
- name: Install Profile Controller (prerequisite)
51+
run: |
52+
cd components/profile-controller
53+
kustomize build config/overlays/kubeflow | kubectl apply -f -
54+
kubectl wait --for=condition=Available deployment -n kubeflow profiles-deployment --timeout=300s
55+
56+
- name: Deploy CentralDashboard Component
57+
run: |
58+
./testing/gh-actions/deploy_component.sh \
59+
"centraldashboard" \
60+
"components/centraldashboard" \
61+
"${IMG}" \
62+
"${TAG}" \
63+
"manifests" \
64+
"overlays/kserve"
65+
66+
- name: Wait for CentralDashboard to be Ready
67+
run: |
68+
kubectl wait --for=condition=Ready pods -n kubeflow -l app=centraldashboard --timeout=300s
69+
kubectl wait --for=condition=Available deployment -n kubeflow centraldashboard --timeout=300s
70+
71+
- name: Create Test Profile for Dashboard Testing
72+
run: |
73+
cat <<EOF | kubectl apply -f -
74+
apiVersion: kubeflow.org/v1
75+
kind: Profile
76+
metadata:
77+
name: test-dashboard-profile
78+
spec:
79+
owner:
80+
kind: User
81+
82+
EOF
83+
84+
for i in {1..60}; do
85+
if kubectl get namespace test-dashboard-profile >/dev/null 2>&1; then
86+
break
87+
fi
88+
echo "Waiting for namespace... (attempt $i/60)"
89+
sleep 5
90+
done
91+
92+
if ! kubectl get namespace test-dashboard-profile >/dev/null 2>&1; then
93+
exit 1
94+
fi
95+
96+
kubectl get profile test-dashboard-profile
97+
kubectl get namespace test-dashboard-profile
98+
99+
- name: Validate Service
100+
run: |
101+
./testing/gh-actions/test_service.sh validate-service centraldashboard kubeflow
102+
103+
- name: Start Port Forward for Dashboard Testing
104+
run: |
105+
./testing/gh-actions/test_service.sh port-forward centraldashboard kubeflow 8082 80
106+
107+
- name: Test Dashboard Health
108+
run: |
109+
./testing/gh-actions/test_service.sh test-health centraldashboard kubeflow 8082
110+
111+
- name: Test Dashboard Web Interface
112+
run: |
113+
curl -f "http://localhost:8082/" >/dev/null 2>&1
114+
115+
curl -f "http://localhost:8082/healthz" >/dev/null 2>&1
116+
117+
RESPONSE=$(curl -s "http://localhost:8082/" | head -c 100)
118+
if [[ -n "$RESPONSE" ]]; then
119+
echo "Dashboard is serving content: ${RESPONSE:0:50}..."
120+
else
121+
exit 1
122+
fi
123+
124+
kubectl get service centraldashboard -n kubeflow
125+
kubectl get pods -n kubeflow -l app=centraldashboard
126+
127+
- name: Test Dashboard Performance
128+
run: |
129+
./testing/gh-actions/test_service.sh performance-test centraldashboard kubeflow 8082 80 10
130+
131+
- name: Test Dashboard Metrics
132+
run: |
133+
./testing/gh-actions/test_service.sh test-metrics centraldashboard kubeflow 8082
134+
135+
- name: Check Dashboard Logs
136+
run: |
137+
./testing/gh-actions/test_service.sh check-logs centraldashboard kubeflow 50
138+
139+
- name: Check for Errors in Logs
140+
run: |
141+
./testing/gh-actions/test_service.sh check-errors centraldashboard kubeflow
142+
143+
- name: Test Dashboard Configuration
144+
run: |
145+
kubectl get configmap centraldashboard-config -n kubeflow
146+
kubectl describe configmap centraldashboard-config -n kubeflow
147+
148+
- name: Test Virtual Service (if Istio is configured)
149+
run: |
150+
kubectl get virtualservice centraldashboard -n kubeflow
151+
152+
- name: Stop Port Forward
153+
run: |
154+
./testing/gh-actions/test_service.sh stop-port-forward centraldashboard kubeflow 8082
155+
156+
- name: Cleanup Test Resources
157+
run: |
158+
kubectl delete profile test-dashboard-profile --ignore-not-found=true
159+
for i in {1..30}; do
160+
if ! kubectl get namespace test-dashboard-profile >/dev/null 2>&1; then
161+
break
162+
fi
163+
echo "Waiting for namespace deletion... (attempt $i/30)"
164+
sleep 5
165+
done

.github/workflows/centraldb_multi_arch_test.yaml renamed to .github/workflows/central_dashboard_multi_arch_test.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
paths:
55
- components/centraldashboard/**
66
- releasing/version/VERSION
7+
- .github/workflows/central_dashboard_multi_arch_test.yaml
78
branches:
89
- main
910
- v*-branch

.github/workflows/centraldb_angular_integration_test.yaml

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)