From eb39eb19b5ec88055083cf909c3abb293e3340aa Mon Sep 17 00:00:00 2001 From: Shinae Woo Date: Mon, 13 May 2024 11:15:42 -0700 Subject: [PATCH] Add git workflow for a test that submits a k8s job Signed-off-by: Shinae Woo --- .github/workflows/go.yml | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 92f2eeb..7a67c15 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -15,6 +15,10 @@ on: branches: - main +env: + KWOK_REPO: kubernetes-sigs/kwok + KWOK_LATEST_RELEASE: v0.5.2 + jobs: check: runs-on: ubuntu-latest @@ -66,3 +70,45 @@ jobs: - name: Build run: make build + + test-k8s: + needs: [check, test, build] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.20' + + - name: Build + run: make build + + - name: Set up Helm + uses: azure/setup-helm@v4.2.0 + with: + version: v3.14.4 + + - name: Create k8s Kind Cluster + uses: helm/kind-action@v1 + + - name: Install KWOK node simulator + run: | + kubectl apply -f "https://github.com/${KWOK_REPO}/releases/download/${KWOK_LATEST_RELEASE}/kwok.yaml" + kubectl apply -f "https://github.com/${KWOK_REPO}/releases/download/${KWOK_LATEST_RELEASE}/stage-fast.yaml" + kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kustomize/stage/pod/chaos/pod-init-container-running-failed.yaml + kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kustomize/stage/pod/chaos/pod-container-running-failed.yaml + kubectl apply -f charts/overrides/kwok/pod-complete.yml + + - name: Add virtual nodes to the cluster + run: | + helm install virtual-nodes charts/virtual-nodes -f charts/virtual-nodes/values-example.yaml + kubectl get nodes + + - name: Run knavigator with an example test + run: | + kubectl create ns k8s-test + kubectl create priorityclass normal-priority --value=100000 + ./bin/knavigator -tasks resources/tests/k8s/test-job.yml + kubectl get job -n k8s-test