Skip to content

Bump github.com/onsi/ginkgo/v2 from 2.15.0 to 2.17.1 (#397) #880

Bump github.com/onsi/ginkgo/v2 from 2.15.0 to 2.17.1 (#397)

Bump github.com/onsi/ginkgo/v2 from 2.15.0 to 2.17.1 (#397) #880

Workflow file for this run

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