Bump k8s.io/client-go from 0.29.2 to 0.29.3 (#392) #879
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
name: tests | |
on: | |
push: | |
branches: | |
- main | |
- feature/* | |
pull_request: | |
branches: [ main ] | |
jobs: | |
generate: | |
name: generate | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- uses: actions/checkout@v4 | |
- name: run-generate | |
run: | | |
make generate | |
make manifests | |
git diff --name-only --exit-code | |
git diff --name-only --staged --exit-code | |
golangci: | |
name: lint | |
needs: [ generate ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- name: golangci-lint | |
run: | | |
make lint | |
test: | |
name: tests | |
runs-on: ubuntu-latest | |
needs: [ generate ] | |
strategy: | |
fail-fast: false | |
matrix: | |
go: ['1.21'] | |
steps: | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go }} | |
- uses: actions/checkout@v4 | |
- name: install-test-tools-and-go-test | |
run: | | |
make test | |
- name: Send coverage | |
uses: shogo82148/actions-goveralls@v1 | |
with: | |
path-to-profile: cover.out | |
flag-name: Go-${{ matrix.go }} | |
parallel: true | |
coveralls-finish: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shogo82148/actions-goveralls@v1 | |
with: | |
parallel-finished: true | |
dashboard-test: | |
needs: [ generate ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build docker image | |
id: docker_build | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./Dockerfile | |
push: false | |
tags: local-kind-test:test | |
- name: Create k8s Kind Cluster | |
uses: helm/kind-action@v1.9.0 | |
with: | |
version: v0.20.0 | |
cluster_name: kind | |
- name: Install Helm | |
uses: azure/setup-helm@v3 | |
- name: Install MetalLb | |
run: | | |
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml | |
docker network inspect -f '{{.IPAM.Config}}' kind | |
kubectl wait --namespace metallb-system --for=condition=ready pod --selector=app=metallb --timeout=90s | |
kubectl apply -f https://kind.sigs.k8s.io/examples/loadbalancer/metallb-config.yaml | |
kubectl patch ipaddresspools.metallb.io --namespace metallb-system example --type merge --patch '{"spec":{"addresses":["172.18.255.200-172.18.255.250"]}}' | |
- name: Deploy helm-chart | |
run: | | |
kind load docker-image local-kind-test:test | |
helm repo add kubeteach https://dergeberl.github.io/kubeteach-charts | |
helm install kubeteach kubeteach/kubeteach-core --namespace kubeteach-system --wait --timeout 120s --create-namespace --set image.pullPolicy=IfNotPresent --set image.repository=local-kind-test --set image.tag=test --set serviceAccount.name=kubeteach --set dashboard.enabled=true --set dashboard.credentials.password=dummy --set dashboard.service.type=LoadBalancer --set webterminal.enabled=true | |
- name: Deploy kubeteach-example to kind cluster | |
run: | | |
kubectl apply -f .github/kind-test-taskdefinitions.yaml | |
sleep 15 | |
kubectl get po -owide -n kubeteach-system | |
kubectl get deployments -n kubeteach-system -o wide | |
kubectl get svc -n kubeteach-system -o wide | |
kubectl get tasks -A | |
- name: Get LoadBalancerIP | |
id: loadbalancer | |
run: | | |
echo "ip=$(kubectl get svc -n kubeteach-system kubeteach-core-dashboard -o jsonpath='{.status.loadBalancer.ingress[0].ip}')" >> $GITHUB_OUTPUT | |
- name: Screenshot Website | |
uses: swinton/screenshot-website@v1.x | |
with: | |
source: http://kubeteach:dummy@${{ steps.loadbalancer.outputs.ip }} | |
destination: screenshot.png | |
deploy-test: | |
needs: [ generate ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build docker image | |
id: docker_build | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./Dockerfile | |
push: false | |
tags: local-kind-test:test | |
- name: Create k8s Kind Cluster | |
uses: helm/kind-action@v1.9.0 | |
with: | |
version: v0.20.0 | |
cluster_name: kind | |
- name: Install Helm | |
uses: azure/setup-helm@v3 | |
- name: Deploy helm-chart | |
run: | | |
kind load docker-image local-kind-test:test | |
helm repo add kubeteach https://dergeberl.github.io/kubeteach-charts | |
helm install kubeteach kubeteach/kubeteach-core --namespace kubeteach-system --wait --timeout 120s --create-namespace --set image.pullPolicy=IfNotPresent --set image.repository=local-kind-test --set image.tag=test --set serviceAccount.name=kubeteach | |
- name: Deploy kubeteach-example to kind cluster | |
run: | | |
kubectl apply -f .github/kind-test-taskdefinitions.yaml | |
sleep 15 | |
kubectl get po -owide -n kubeteach-system | |
kubectl get deployments -n kubeteach-system -o wide | |
kubectl get tasks -A | |
- name: Run test in kind cluster | |
run: | | |
kubectl get task task01 -o jsonpath='{.status.state}' | grep successful | |
kubectl get task task02 -o jsonpath='{.status.state}' | grep active | |
kubectl get task task03 -o jsonpath='{.status.state}' | grep pending | |
exerciseset1-test: | |
needs: [ generate ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build docker image | |
id: docker_build | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./Dockerfile | |
push: false | |
tags: local-kind-test:test | |
- name: Create k8s Kind Cluster | |
uses: helm/kind-action@v1.9.0 | |
with: | |
version: v0.20.0 | |
cluster_name: kind | |
- name: Install Helm | |
uses: azure/setup-helm@v3 | |
- name: Deploy helm-chart | |
run: | | |
kind load docker-image local-kind-test:test | |
helm repo add kubeteach https://dergeberl.github.io/kubeteach-charts | |
helm install kubeteach kubeteach/kubeteach-exerciseset1 --namespace kubeteach-system --create-namespace --set kubeteach.image.pullPolicy=IfNotPresent --set kubeteach.image.repository=local-kind-test --set kubeteach.image.tag=test --set kubeteach.serviceAccount.name=kubeteach | |
- name: wait for kubeteach to get ready | |
run: | | |
kubectl wait --for=condition=available --timeout=600s -n kubeteach-system deployment/kubeteach | |
sleep 15 | |
- name: Apply solutions and check task | |
run: | | |
bash .github/test-exerciseset1.sh |