-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Rajat Jindal <[email protected]>
- Loading branch information
1 parent
507124e
commit b5a8abc
Showing
1 changed file
with
78 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
name: Helm Install Smoketest | ||
|
||
on: | ||
pull_request: | ||
branches: [main] | ||
|
||
jobs: | ||
helm-install-smoke-test: | ||
runs-on: ubuntu-latest | ||
needs: docker | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: "1.21.x" | ||
|
||
- name: Install helm | ||
uses: Azure/setup-helm@v3 | ||
with: | ||
version: v3.14.0 | ||
|
||
- name: setup k3d | ||
uses: engineerd/[email protected] | ||
with: | ||
name: k3d | ||
url: https://github.com/k3d-io/k3d/releases/download/v5.6.0/k3d-linux-amd64 | ||
|
||
- name: start k3d cluster | ||
run: | | ||
k3d cluster create wasm-cluster \ | ||
--image ghcr.io/deislabs/containerd-wasm-shims/examples/k3d:v0.11.0 \ | ||
--port "8081:80@loadbalancer" \ | ||
--agents 2 | ||
- name: install crd | ||
run: make install | ||
|
||
- name: apply runtime class | ||
run: kubectl apply -f spin-runtime-class.yaml | ||
|
||
- name: helm install | ||
run: | | ||
helm repo add kwasm-operator http://kwasm.sh/kwasm-operator | ||
helm repo add cert-manager https://charts.jetstack.io | ||
helm dependency build charts/spin-operator | ||
helm install spin-operator \ | ||
--namespace spin-operator \ | ||
--create-namespace \ | ||
--devel \ | ||
--wait \ | ||
--set controllerManager.manager.image.repository=ttl.sh/spoopy-operator-pr-${{ github.event.pull_request.number }} \ | ||
--set controllerManager.manager.image.tag=24h \ | ||
--debug \ | ||
charts/spin-operator | ||
- name: debug | ||
if: failure() | ||
run: | | ||
kubectl get pods -A | ||
kubectl get pods -n spin-operator | ||
kubectl logs -n spin-operator $(kubectl get pods -n spin-operator | grep spin-operator-controller-manager | awk '{print $1}') | ||
kubectl describe -n spin-operator pod $(kubectl get pods -n spin-operator | grep spin-operator-controller-manager | awk '{print $1}') | ||
kubectl logs -n spin-operator $(kubectl get pods -n spin-operator | grep wait-for-webhook-svc | awk '{print $1}') | ||
kubectl describe -n spin-operator pod $(kubectl get pods -n spin-operator | grep wait-for-webhook-svc | awk '{print $1}') | ||
- name: run spin app | ||
run: | | ||
kubectl apply -f config/samples/simple.yaml | ||
kubectl rollout status deployment simple-spinapp --timeout 90s | ||
kubectl get pods -A | ||
kubectl port-forward svc/simple-spinapp 8083:80 & | ||
timeout 15s bash -c 'until curl -f -vvv http://localhost:8083/hello; do sleep 2; done' | ||
- name: Verify curl | ||
run: curl localhost:8083/hello |