Skip to content

add hack/cherry_pick_pull.sh (#3) #2

add hack/cherry_pick_pull.sh (#3)

add hack/cherry_pick_pull.sh (#3) #2

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", "1.32.x"]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Python 3.10
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: "3.10"
- uses: ./.github/actions/install-deps
with:
k8sVersion: ${{ matrix.k8sVersion }}
- name: Kind Cluster
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.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 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
# TEMPORARILY DISABLED: Karpenter KPI Analysis Package
# This package analyzes key performance indicators (KPIs) for integration tests.
# Currently non-functional due to changes in core Karpenter metrics.
# Disabled due to test flakiness until underlying metric changes are addressed.
# Reference: https://github.com/nathangeology/karpenter_evaluate/blob/main/main.py
# - 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