Use upstream setup-kind action #112
Workflow file for this run
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: 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 |