Skip to content

Use upstream setup-kind action #112

Use upstream setup-kind action

Use upstream setup-kind action #112

Workflow file for this run

name: KinD e2e tests
on:
pull_request:
branches:
- main
push:
branches:
- main
defaults:
run:
shell: bash
jobs:
e2e-tests:
name: e2e tests
strategy:
fail-fast: false
matrix:
k8s-version:
- v1.27.x
- v1.28.x
- v1.29.x
os:
- ubuntu-20.04 # Ubuntu 20.04 uses cgroup v1
- ubuntu-22.04 # Ubuntu 22.04 uses cgroup v2
runs-on: ${{ matrix.os }}
steps:
- name: Set up Go 1.21.x
uses: actions/setup-go@v4
with:
go-version: 1.21.x
- uses: ko-build/[email protected]
- name: Check out code
uses: actions/checkout@v4
- name: Setup KinD
uses: chainguard-dev/actions/setup-kind@acaa0304efab07960b18bcf59117c1560d8cee10
with:
k8s-version: ${{ matrix.k8s-version }}
kind-worker-count: 1
feature-gates: InPlacePodVerticalScaling
- name: Install helm
run: |
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
- name: Install k8s-pod-cpu-booster
env:
KO_DOCKER_REPO: kind.local
run: |
INFORMER_IMAGE=$(ko build ./cmd/informer)
WEBHOOK_IMAGE=$(ko build ./cmd/webhook)
helm install k8s-pod-cpu-booster --namespace pod-cpu-booster --create-namespace ./charts/k8s-pod-cpu-booster \
--set informer.image=$INFORMER_IMAGE \
--set informer.imagePullPolicy=Never \
--set webhook.image=$WEBHOOK_IMAGE \
--set webhook.imagePullPolicy=Never
- name: Wait for Ready
run: |
echo "Waiting for k8s-pod-cpu-booster items to become ready"
kubectl wait pod --for=condition=Ready -n pod-cpu-booster -l app=pod-cpu-boost-reset
kubectl wait pod --for=condition=Ready -n pod-cpu-booster -l app=mutating-webhook
sleep 5 # because readiness probe is not accurate (Ready != informer is started), but sleeping is enough for now
- name: Run e2e Tests
run: |
OS=${{ matrix.os }} ./test/e2e-kind.sh