Skip to content

chore: Remove a controller that was used for testing (#1830) #317

chore: Remove a controller that was used for testing (#1830)

chore: Remove a controller that was used for testing (#1830) #317

Workflow file for this run

name: kind-e2e
on:
push:
branches: [main]
workflow_dispatch:
jobs:
kind-e2e:
permissions:
issues: write
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
k8sVersion: ["1.25.x", "1.26.x", "1.27.x", "1.28.x", "1.29.x", "1.30.x", "1.31.x"]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Python 3.10
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: "3.10"
- uses: ./.github/actions/install-deps
with:
k8sVersion: ${{ matrix.k8sVersion }}
- name: Kind Cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
- name: check kind cluster and taint nodes
shell: bash
run: |
kubectl config current-context
kubectl get nodes
kubectl taint nodes chart-testing-control-plane CriticalAddonsOnly:NoSchedule
- name: install prometheus
uses: ./.github/actions/install-prometheus
- name: install pyroscope
uses: ./.github/actions/install-pyroscope
- name: install kwok and controller
shell: bash
run: |
make toolchain
make install-kwok
export KWOK_REPO=kind.local
export KIND_CLUSTER_NAME=chart-testing
make apply-with-kind
- name: ping cluster
shell: bash
run: |
sleep 15
kubectl get pods -n kube-system | grep karpenter
kubectl get nodepools
kubectl get pods -A
kubectl describe nodes
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: nathangeology/karpenter_evaluate
path: ./karpenter_eval/ # Installs to a folder in the Karpenter repo for the test
ref: "1130af927302e6913a4947952112f793eeafc564"
fetch-depth: 0
- name: install KPI report dependencies
shell: bash
run: |
pip install pandas==2.2.2
pip install pyarrow==16.1.0
pip install tabulate==0.9.0
pip install prometheus-api-client==0.5.5
pip install ./karpenter_eval/
- name: run test suites
shell: bash
run: |
OUTPUT_DIR=$(mktemp -d)
export OUTPUT_DIR
echo OUTPUT_DIR="$OUTPUT_DIR" >> "$GITHUB_ENV"
make e2etests
- name: run test analysis
shell: bash
run: |
OUTPUT_DIR=${{ env.OUTPUT_DIR }} python ./karpenter_eval/main.py
- name: cleanup
shell: bash
run: |
kubectl delete nodepools --all
make delete
make uninstall-kwok