33## Overview
44
55This document describes the optimized CI/CD pipeline architecture introduced
6- to address issues #663 , #664 , #665 , and #666 .
6+ to address issues #700 , #701 , #703 , and #714 .
77
88---
99
@@ -20,7 +20,7 @@ All reusable logic lives under `.github/actions/`:
2020
2121---
2222
23- ## Core CI Workflows (#663 )
23+ ## Core CI Workflows (#700 )
2424
2525### ` ci.yml `
2626- ** Change detection** gates expensive jobs (helm-lint, api-docs, examples-smoke-test,
@@ -47,7 +47,7 @@ the critical path by ~35–40% compared to the previous sequential layout.
4747
4848---
4949
50- ## Heavy Validation Workflows (#666 )
50+ ## Heavy Validation Workflows (#703 )
5151
5252### ` chaos-tests.yml `
5353- ** Extracted** cluster provisioning into ` setup-kind-cluster ` composite action.
@@ -70,25 +70,17 @@ the critical path by ~35–40% compared to the previous sequential layout.
7070
7171---
7272
73- ## Performance & Benchmark Workflows (#664 )
74-
75- ### ` benchmark.yml `
76- - Build step produces a Docker image saved as a ` .tar.gz ` artifact.
77- - ` setup-perf-env ` composite action handles k6, kind, kubectl, cluster, RBAC,
78- operator deployment, and port-forwarding — eliminating ~ 80 lines of duplicated
79- setup across the three benchmark workflows.
80- - Baseline comparison uses the same ` compare_benchmarks.py ` script as
81- ` performance-regression.yml ` .
82-
83- ### ` performance-regression.yml `
84- - Removed the now-redundant ` setup-cluster ` job (consolidated into
85- ` performance-test ` via ` setup-perf-env ` ).
86- - Removed duplicate k6/kind/kubectl install steps.
87-
88- ### ` webhook-benchmark.yml `
89- - Uses ` setup-rust ` composite action.
90- - Standardised on ` actions/upload-artifact@v4 ` / ` actions/download-artifact@v4 `
91- (was mixing v7/v8 which don't exist).
73+ ## Performance & Benchmark Workflows (#701 )
74+
75+ ### ` performance.yml ` (unified pipeline)
76+ - ** Replaces** the former ` benchmark.yml ` , ` performance-regression.yml ` , and
77+ ` webhook-benchmark.yml ` with a single matrix-driven workflow.
78+ - ** Shared build job** produces the operator binary and Docker image once; all
79+ three suites (operator, regression, webhook) download the same artifact.
80+ - ** Matrix execution** runs operator and regression suites via ` setup-perf-env ` ,
81+ and the webhook suite directly (no kind cluster required).
82+ - ** Shared baseline comparison** via ` .github/actions/compare-benchmarks `
83+ composite action wrapping ` compare_benchmarks.py ` .
9284
9385---
9486
0 commit comments