Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/admission_webhook_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ name: Test Admission Webhook
on:
pull_request:
paths:
- tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
- tests/install_KinD_create_KinD_cluster_install_kustomize.sh
- .github/workflows/admission_webhook_test.yaml
- apps/admission-webhook/upstream/**
- tests/gh-actions/install_istio*.sh
- tests/gh-actions/install_cert_manager.sh
- tests/istio-cni_install.sh
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line is now obsolete

- tests/istio*
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line is missing in most workflows and should replace the line above

- common/cert-manager/**
- common/istio*/**

Expand All @@ -18,13 +18,13 @@ jobs:
uses: actions/checkout@v4

- name: Install KinD, Create KinD cluster and Install kustomize
run: ./tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
run: ./tests/install_KinD_create_KinD_cluster_install_kustomize.sh

- name: Install Istio
run: ./tests/gh-actions/install_istio-cni.sh
run: ./tests/istio-cni_install.sh

- name: Install cert-manager
run: ./tests/gh-actions/install_cert_manager.sh
run: ./tests/cert_manager_install.sh

- name: Build & Apply manifests
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/centraldashboard_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ name: Test Central Dashboard
on:
pull_request:
paths:
- tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
- tests/install_KinD_create_KinD_cluster_install_kustomize.sh
- .github/workflows/centraldashboard_test.yaml
- apps/centraldashboard/upstream/**
- tests/gh-actions/install_istio*.sh
- tests/istio-cni_install.sh
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please everywhere tests/istio*

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have updated this everywhere

- common/istio*/**

jobs:
Expand All @@ -16,10 +16,10 @@ jobs:
uses: actions/checkout@v4

- name: Install KinD, Create KinD cluster and Install kustomize
run: ./tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
run: ./tests/install_KinD_create_KinD_cluster_install_kustomize.sh

- name: Install Istio
run: ./tests/gh-actions/install_istio-cni.sh
run: ./tests/istio-cni_install.sh

- name: Create kubeflow namespace
run: kustomize build common/kubeflow-namespace/base | kubectl apply -f -
Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/dex_oauth2-proxy_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ name: Test Dex and OAuth2 Proxy
on:
pull_request:
paths:
- tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
- .github/workflows/dex_oauth2-proxy.yaml
- tests/install_KinD_create_KinD_cluster_install_kustomize.sh
- .github/workflows/dex_oauth2-proxy_test.yaml
- common/cert-manager/**
- common/oauth2-proxy/**
- common/istio*/**
- experimental/security/PSS/*
- common/dex/base/**
- tests/gh-actions/install_istio*.sh
- tests/gh-actions/test_dex_login.py
- tests/istio-cni_install.sh
- tests/dex_login_test.py

jobs:
build:
Expand All @@ -20,16 +20,16 @@ jobs:
uses: actions/checkout@v4

- name: Install KinD, Create KinD cluster and Install kustomize
run: ./tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
run: ./tests/install_KinD_create_KinD_cluster_install_kustomize.sh

- name: Install cert-manager
run: ./tests/gh-actions/install_cert_manager.sh
run: ./tests/cert_manager_install.sh

- name: Install Istio CNI
run: ./tests/gh-actions/install_istio-cni.sh
run: ./tests/istio-cni_install.sh

- name: Install oauth2-proxy
run: ./tests/gh-actions/install_oauth2-proxy.sh
run: ./tests/oauth2-proxy_install.sh

- name: Create kubeflow namespace
run: kustomize build common/kubeflow-namespace/base | kubectl apply -f -
Expand All @@ -38,32 +38,32 @@ jobs:
run: kustomize build common/istio-cni-1-24/kubeflow-istio-resources/base | kubectl apply -f -

- name: Install KF Multi Tenancy
run: ./tests/gh-actions/install_multi_tenancy.sh
run: ./tests/multi_tenancy_install.sh

- name: Install dex
run: ./tests/gh-actions/install_dex.sh
run: ./tests/dex_install.sh

- name: Install central-dashboard
run: ./tests/gh-actions/install_central_dashboard.sh
run: ./tests/central_dashboard_install.sh

- name: Create KF Profile
run: ./tests/gh-actions/install_kubeflow_profile.sh
run: ./tests/kubeflow_profile_install.sh

- name: Port forward the istio-ingress gateway
run: ./tests/gh-actions/port_forward_gateway.sh
run: ./tests/port_forward_gateway.sh

- name: Test dex login
run: |
# Install Python requirements
pip3 install -q requests

# Run the Dex login test
python3 tests/gh-actions/test_dex_login.py
python3 tests/dex_login_test.py

echo "Dex login test completed successfully."

- name: Apply Pod Security Standards baseline levels for static namespaces
run: ./tests/gh-actions/enable_baseline_PSS.sh
run: ./tests/PSS_baseline_enable.sh

- name: Unapply applied baseline labels
run: |
Expand All @@ -75,4 +75,4 @@ jobs:
done

- name: Applying Pod Security Standards restricted levels for static namespaces
run: ./tests/gh-actions/enable_restricted_PSS.sh
run: ./tests/PSS_restricted_enable.sh
70 changes: 35 additions & 35 deletions .github/workflows/full_kubeflow_integration_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,46 +23,46 @@ jobs:
uses: actions/checkout@v4

- name: Install KinD, Create KinD cluster and Install kustomize
run: ./tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
run: ./tests/install_KinD_create_KinD_cluster_install_kustomize.sh

- name: Install kubectl
run: ./tests/gh-actions/install_kubectl.sh
run: ./tests/kubectl_install.sh

- name: Create Kubeflow Namespace
run: kustomize build common/kubeflow-namespace/base | kubectl apply -f -

- name: Install Certificate Manager
run: ./tests/gh-actions/install_cert_manager.sh
run: ./tests/cert_manager_install.sh

- name: Install Istio CNI
run: ./tests/gh-actions/install_istio-cni.sh
run: ./tests/istio-cni_install.sh

- name: Install OAuth2 Proxy
run: ./tests/gh-actions/install_oauth2-proxy.sh
run: ./tests/oauth2-proxy_install.sh

- name: Install Kubeflow Istio Resources
run: kustomize build common/istio-cni-1-24/kubeflow-istio-resources/base | kubectl apply -f -

- name: Install Multi-Tenancy
run: ./tests/gh-actions/install_multi_tenancy.sh
run: ./tests/multi_tenancy_install.sh

- name: Install Dex
run: ./tests/gh-actions/install_dex.sh
run: ./tests/dex_install.sh

- name: Install Central Dashboard
run: ./tests/gh-actions/install_central_dashboard.sh
run: ./tests/central_dashboard_install.sh

- name: Install Knative
run: ./tests/gh-actions/install_knative-cni.sh
run: ./tests/knative-cni_install.sh

- name: Install KServe
run: ./tests/gh-actions/install_kserve.sh
run: ./tests/kserve_install.sh

- name: Install Pipelines
run: ./tests/gh-actions/install_pipelines.sh
run: ./tests/pipelines_install.sh

- name: Create KF Profile
run: ./tests/gh-actions/install_kubeflow_profile.sh
run: ./tests/kubeflow_profile_install.sh

- name: Install Jupyter Web Application
run: kustomize build apps/jupyter/jupyter-web-app/upstream/overlays/istio/ | kubectl apply -f -
Expand All @@ -77,13 +77,13 @@ jobs:
run: kubectl get crd poddefaults.kubeflow.org || kubectl apply -f https://raw.githubusercontent.com/kubeflow/kubeflow/master/components/admission-webhook/manifests/base/crd.yaml

- name: Install Volumes Web Application
run: ./tests/gh-actions/install_volumes_web_application.sh
run: ./tests/volumes_web_application_install.sh

- name: Install Katib
run: ./tests/gh-actions/install_katib.sh
run: ./tests/katib_install.sh

- name: Install Training Operator
run: ./tests/gh-actions/install_training_operator.sh
run: ./tests/training_operator_install.sh

- name: Install Model Registry
run: |
Expand All @@ -95,67 +95,67 @@ jobs:
kustomize build apps/model-registry/upstream/options/ui/overlays/istio | kubectl apply -n kubeflow -f -

- name: Install Spark
run: chmod u+x tests/gh-actions/*.sh && ./tests/gh-actions/install_spark.sh
run: chmod u+x tests/*.sh && ./tests/spark_install.sh

- name: Wait for All Pods to be Ready
run: kubectl wait --for=condition=Ready pods --all --all-namespaces --timeout 60s --field-selector=status.phase!=Succeeded

- name: Port-forward the istio-ingress gateway
run: ./tests/gh-actions/port_forward_gateway.sh
run: ./tests/port_forward_gateway.sh

# name: Setup OAuth2 and Dex Credentials
# run: chmod +x tests/gh-actions/oauth2_dex_credentials.sh && ./tests/gh-actions/oauth2_dex_credentials.sh
# run: chmod +x tests/oauth2_dex_credentials.sh && ./tests/oauth2_dex_credentials.sh

- name: Test Dex Login
run: |
pip3 install -q requests
python3 tests/gh-actions/test_dex_login.py
python3 tests/dex_login_test.py
echo "Dex login test completed successfully."

- name: V1 Pipeline Test
run: |
pip3 install "kfp>=1.8.22,<2.0.0"
TOKEN="$(kubectl -n $KF_PROFILE create token default-editor)"
python3 tests/gh-actions/test_pipeline_v1.py "${TOKEN}" "${KF_PROFILE}"
python3 tests/pipeline_v1_test.py "${TOKEN}" "${KF_PROFILE}"

- name: V2 Pipeline Test
run: |
pip3 install -U "kfp>=2.13.0"
TOKEN="$(kubectl -n $KF_PROFILE create token default-editor)"
python3 tests/gh-actions/test_pipeline_v2.py run_pipeline "${TOKEN}" "${KF_PROFILE}"
python3 tests/pipeline_v2_test.py run_pipeline "${TOKEN}" "${KF_PROFILE}"

- name: Test Pipeline Access with Unauthorized Token
run: |
kubectl create namespace test-unauthorized
kubectl create serviceaccount test-unauthorized -n test-unauthorized
UNAUTHORIZED_TOKEN=$(kubectl -n test-unauthorized create token test-unauthorized)
python3 tests/gh-actions/test_pipeline_v2.py test_unauthorized_access "$UNAUTHORIZED_TOKEN" "${KF_PROFILE}"
python3 tests/pipeline_v2_test.py test_unauthorized_access "$UNAUTHORIZED_TOKEN" "${KF_PROFILE}"

- name: Test Volumes Web Application API
run: ./tests/gh-actions/test_volumes_web_application.sh "${KF_PROFILE}"
run: ./tests/volumes_web_application_test.sh "${KF_PROFILE}"

- name: Apply PodDefault for Pipeline Access Token
run: sed "s/kubeflow-user-example-com/$KF_PROFILE/g" tests/gh-actions/kf-objects/poddefaults.access-ml-pipeline.kubeflow-user-example-com.yaml | kubectl apply -f -
run: sed "s/kubeflow-user-example-com/$KF_PROFILE/g" tests/poddefaults.access-ml-pipeline.kubeflow-user-example-com.yaml | kubectl apply -f -

- name: Create Test Notebook
run: |
sed "s/kubeflow-user-example-com/$KF_PROFILE/g" tests/gh-actions/kf-objects/notebook.test.kubeflow-user-example.com.yaml | kubectl apply -f -
sed "s/kubeflow-user-example-com/$KF_PROFILE/g" tests/notebook.test.kubeflow-user-example.com.yaml | kubectl apply -f -
kubectl wait --for=condition=Ready pod -l app=test -n $KF_PROFILE --timeout=300s

- name: Copy and execute the pipeline run script in KF Notebook
run: |
cp tests/gh-actions/run_and_wait_kubeflow_pipeline.py /tmp/run_pipeline_temp.py
cp tests/pipeline_run_and_wait_kubeflow.py /tmp/run_pipeline_temp.py
sed -i "s/experiment_namespace = \"kubeflow-user-example-com\"/experiment_namespace = \"$KF_PROFILE\"/g" /tmp/run_pipeline_temp.py
sed -i 's/except Exception:/except Exception as e:/g' /tmp/run_pipeline_temp.py
sed -i 's/logger.info("Experiment not found, trying to create experiment.")/logger.info("Experiment not found, trying to create experiment. Error: " + str(e))/g' /tmp/run_pipeline_temp.py

kubectl -n $KF_PROFILE cp /tmp/run_pipeline_temp.py test-0:/home/jovyan/run_and_wait_kubeflow_pipeline.py
kubectl -n $KF_PROFILE cp /tmp/run_pipeline_temp.py test-0:/home/jovyan/pipeline_run_and_wait_kubeflow.py

kubectl -n $KF_PROFILE exec test-0 -- python /home/jovyan/run_and_wait_kubeflow_pipeline.py
kubectl -n $KF_PROFILE exec test-0 -- python /home/jovyan/pipeline_run_and_wait_kubeflow.py

- name: Run Katib Test
run: |
kubectl apply -f tests/gh-actions/kf-objects/katib_test.yaml
kubectl apply -f tests/katib_test.yaml
kubectl wait --for=condition=Running experiments.kubeflow.org -n $KF_PROFILE --all --timeout=300s
echo "Waiting for all Trials to be Completed..."
kubectl wait --for=condition=Created trials.kubeflow.org -n $KF_PROFILE --all --timeout=60s
Expand All @@ -164,14 +164,14 @@ jobs:
kubectl get trials.kubeflow.org -n $KF_PROFILE

- name: Run Training Operator Test
run: ./tests/gh-actions/test_training_operator.sh "${KF_PROFILE}"
run: ./tests/training_operator_test.sh "${KF_PROFILE}"

- name: Run KServe Test
run: |
./tests/gh-actions/test_kserve.sh ${KF_PROFILE}
./tests/kserve_test.sh ${KF_PROFILE}

- name: Run Spark Test
run: chmod u+x tests/gh-actions/*.sh && ./tests/gh-actions/test_spark.sh "${KF_PROFILE}"
run: chmod u+x tests/*.sh && ./tests/spark_test.sh "${KF_PROFILE}"

- name: Test Model Registry Deployment
run: |
Expand Down Expand Up @@ -210,7 +210,7 @@ jobs:
fi

- name: Apply Pod Security Standards Baseline
run: ./tests/gh-actions/enable_baseline_PSS.sh
run: ./tests/PSS_baseline_enable.sh

- name: Remove Pod Security Labels
run: |
Expand All @@ -220,11 +220,11 @@ jobs:
done

- name: Apply Pod Security Standards Restricted
run: ./tests/gh-actions/enable_restricted_PSS.sh
run: ./tests/PSS_restricted_enable.sh

- name: Run Non-Root Test
run: |
[ -f "tests/gh-actions/runasnonroot.sh" ] && chmod +x tests/gh-actions/runasnonroot.sh && ./tests/gh-actions/runasnonroot.sh
[ -f "tests/runasnonroot.sh" ] && chmod +x tests/runasnonroot.sh && ./tests/runasnonroot.sh

- name: Verify Components
run: kubectl get pods --all-namespaces | grep -E '(Error|CrashLoopBackOff)' && exit 1 || true
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/jupyter_web_application_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ name: Test Jupyter Web Application
on:
pull_request:
paths:
- tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
- tests/install_KinD_create_KinD_cluster_install_kustomize.sh
- .github/workflows/jupyter_web_application_test.yaml
- apps/jupyter/jupyter-web-app/upstream/**
- tests/gh-actions/install_istio*.sh
- tests/istio-cni_install.sh
- common/istio*/**

jobs:
Expand All @@ -16,10 +16,10 @@ jobs:
uses: actions/checkout@v4

- name: Install KinD, Create KinD cluster and Install kustomize
run: ./tests/gh-actions/install_KinD_create_KinD_cluster_install_kustomize.sh
run: ./tests/install_KinD_create_KinD_cluster_install_kustomize.sh

- name: Install Istio
run: ./tests/gh-actions/install_istio-cni.sh
run: ./tests/istio-cni_install.sh

- name: Build & Apply manifests
run: |
Expand Down
Loading
Loading