Skip to content

Commit

Permalink
Add github action for Istio CNI testing
Browse files Browse the repository at this point in the history
The new action should be triggered manually.

Signed-off-by: Tzvetomir Stoyanov (VMware) <[email protected]>
  • Loading branch information
tzstoyanov committed Jul 28, 2023
1 parent e45c674 commit bd8f55c
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .github/workflows/kserve_kind_cni_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Build & Apply KServe manifests in KinD, using istio CNI
on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install KinD
run: ./tests/gh-actions/install_kind.sh

- name: Create KinD Cluster
run: kind create cluster --config tests/gh-actions/kind-cluster.yaml

- name: Install kustomize
run: ./tests/gh-actions/install_kustomize.sh

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

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

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

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

- name: Build & Apply manifests
run: ./tests/gh-actions/install_kserve.sh

- name: Create test namespace
run: kubectl create ns kserve-test

- name: Setup python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9

- name: Install test dependencies
run: pip install -r ./contrib/kserve/tests/requirements.txt

- name: Port forward
run: |
INGRESS_GATEWAY_SERVICE=$(kubectl get svc --namespace istio-system --selector="app=istio-ingressgateway" --output jsonpath='{.items[0].metadata.name}')
nohup kubectl port-forward --namespace istio-system svc/${INGRESS_GATEWAY_SERVICE} 8080:80 &
- name: Run kserve tests
run: |
export KSERVE_INGRESS_HOST_PORT=localhost:8080
cd ./contrib/kserve/tests && pytest .
- name: Run kserve models webapp test
run: |
kubectl wait --for=condition=Available --timeout=300s -n kubeflow deployment/kserve-models-web-app
Empty file modified tests/gh-actions/install_istio-cni.sh
100644 → 100755
Empty file.
Empty file modified tests/gh-actions/install_knative-cni.sh
100644 → 100755
Empty file.

0 comments on commit bd8f55c

Please sign in to comment.