1010 workflow_dispatch :
1111jobs :
1212 kind-e2e :
13- # if: github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success'
14- # permissions:
15- # issues: write
16- runs-on : ubuntu-latest
13+ if : github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success'
14+ permissions :
15+ issues : write
1716 strategy :
1817 fail-fast : false
1918 matrix :
2019 k8sVersion : ["1.28.x", "1.29.x", "1.30.x", "1.31.x", "1.32.x", "1.33.x", "1.34.x"]
21- steps :
22- - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
23- - name : Set up Python 3.10
24- uses : actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
25- with :
26- python-version : " 3.10"
27- - uses : ./.github/actions/install-deps
28- with :
29- k8sVersion : ${{ matrix.k8sVersion }}
30- - name : Kind Cluster
31- uses : helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
32- - name : check kind cluster and taint nodes
33- shell : bash
34- run : |
35- kubectl config current-context
36- kubectl get nodes
37- kubectl taint nodes chart-testing-control-plane CriticalAddonsOnly:NoSchedule
38- - name : install prometheus
39- uses : ./.github/actions/install-prometheus
40- - name : install pyroscope
41- uses : ./.github/actions/install-pyroscope
42- - name : install kwok and controller
43- shell : bash
44- run : |
45- make install-kwok
46- export KWOK_REPO=kind.local
47- export KIND_CLUSTER_NAME=chart-testing
48- make apply-with-kind
49- - name : ping cluster
50- shell : bash
51- run : |
52- sleep 15
53- kubectl get pods -n kube-system | grep karpenter
54- kubectl get nodepools
55- kubectl get pods -A
56- kubectl describe nodes
57- # TEMPORARILY DISABLED: Karpenter KPI Analysis Package
58- # This package analyzes key performance indicators (KPIs) for integration tests.
59- # Currently non-functional due to changes in core Karpenter metrics.
60- # Disabled due to test flakiness until underlying metric changes are addressed.
61- # Reference: https://github.com/nathangeology/karpenter_evaluate/blob/main/main.py
62- # - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
63- # with:
64- # repository: nathangeology/karpenter_evaluate
65- # path: ./karpenter_eval/ # Installs to a folder in the Karpenter repo for the test
66- # ref: "1130af927302e6913a4947952112f793eeafc564"
67- # fetch-depth: 0
68- # - name: install KPI report dependencies
69- # shell: bash
70- # run: |
71- # pip install pandas==2.2.2
72- # pip install pyarrow==16.1.0
73- # pip install tabulate==0.9.0
74- # pip install prometheus-api-client==0.5.5
75- # pip install ./karpenter_eval/
76- - name : run test suites
77- shell : bash
78- run : |
79- OUTPUT_DIR=$(mktemp -d)
80- export OUTPUT_DIR
81- echo OUTPUT_DIR="$OUTPUT_DIR" >> "$GITHUB_ENV"
82- make e2etests
83- # - name: run test analysis
84- # shell: bash
85- # run: |
86- # OUTPUT_DIR=${{ env.OUTPUT_DIR }} python ./karpenter_eval/main.py
87- - name : cleanup
88- shell : bash
89- run : |
90- kubectl delete nodepools --all
91- make delete
92- make uninstall-kwok
93-
20+ uses : ./.github/workflows/e2e.yaml
21+ with :
22+ k8s_version : ${{ matrix.k8sVersion }}
23+ suite : " Regression"
0 commit comments