From ef28b898ecffd2284831b9a2eaf99cbc2a157018 Mon Sep 17 00:00:00 2001 From: Shmuel Kallner Date: Thu, 31 Jul 2025 14:03:52 +0300 Subject: [PATCH 1/5] Export variables containing generated text templates Signed-off-by: Shmuel Kallner --- conformance/scripts/istio/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conformance/scripts/istio/Makefile b/conformance/scripts/istio/Makefile index 047b37c16..132b17d33 100644 --- a/conformance/scripts/istio/Makefile +++ b/conformance/scripts/istio/Makefile @@ -48,6 +48,7 @@ metadata: name: config namespace: metallb-system endef +export METALLB_CONFIG # Multi-line YAML configuration for metallb (kind) define METALLB_KIND_CONFIG @@ -66,6 +67,7 @@ metadata: name: empty namespace: metallb-system endef +export METALLB_KIND_CONFIG define TLS_DESTINATION_RULES apiVersion: networking.istio.io/v1 @@ -92,6 +94,7 @@ spec: mode: SIMPLE insecureSkipVerify: true endef +export TLS_DESTINATION_RULES # README template for implementation conformance reports define README_TEMPLATE @@ -118,6 +121,7 @@ For instructions on how to reproduce these test results and run the conformance For detailed information about conformance testing, report generation, and requirements, see the [main conformance README](../../../../../README.md). endef +export README_TEMPLATE .PHONY: setup-env-minikube setup-env-kind setup-env-openshift setup-minikube setup-kind setup-openshift setup-istio setup-istio-minikube setup-istio-kind setup-istio-openshift setup-gateway-api-crds setup-inference-extension-crds setup-crds setup-tls run-tests readme-update clean clean-reports help ensure-report-dir From 560436cdb3abb3ffa42d33f63e84e44adf73c120 Mon Sep 17 00:00:00 2001 From: Shmuel Kallner Date: Thu, 31 Jul 2025 14:05:03 +0300 Subject: [PATCH 2/5] Made file generation work on MacOS as well Signed-off-by: Shmuel Kallner --- conformance/scripts/istio/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/conformance/scripts/istio/Makefile b/conformance/scripts/istio/Makefile index 132b17d33..66fc0045a 100644 --- a/conformance/scripts/istio/Makefile +++ b/conformance/scripts/istio/Makefile @@ -272,7 +272,7 @@ setup-minikube: minikube start --kubernetes-version=$(MINIKUBE_K8S_VERSION) minikube addons enable metallb @echo "Configuring metallb address pool..." - $(file >/tmp/metallb-config.yaml,$(METALLB_CONFIG)) + echo '$${METALLB_CONFIG}' | envsubst '$${METALLB_CONFIG}' >/tmp/metallb-config.yaml @MINIKUBE_IP=$$(minikube ip); \ NETWORK_PREFIX=$${MINIKUBE_IP%.*}; \ echo "Using IP range: $${NETWORK_PREFIX}.100-$${NETWORK_PREFIX}.200"; \ @@ -296,7 +296,7 @@ setup-kind: kubectl wait --namespace metallb-system --for=condition=ready pod --selector=component=controller --timeout=90s kubectl wait --namespace metallb-system --for=condition=ready pod --selector=component=speaker --timeout=90s @echo "Configuring metallb address pool..." - $(file >/tmp/metallb-kind-config.yaml,$(METALLB_KIND_CONFIG)) + echo '$${METALLB_KIND_CONFIG}' | envsubst '$${METALLB_KIND_CONFIG}' >/tmp/metallb-kind-config.yaml @DOCKER_NETWORK=$$(docker network inspect -f '{{range .IPAM.Config}}{{.Gateway}}{{end}}' kind); \ NETWORK_PREFIX=$${DOCKER_NETWORK%.*}; \ echo "Using IP range: $${NETWORK_PREFIX}.200-$${NETWORK_PREFIX}.250"; \ @@ -373,7 +373,7 @@ $(ISTIOCTL_BIN): $(REPORT_BASE_DIR)/README.md: Makefile | ensure-report-dir @echo "Generating README for $(PROJECT) conformance reports..." @echo "Report directory: $(REPORT_BASE_DIR)" - $(file >/tmp/readme-template.md,$(README_TEMPLATE)) + echo '$${README_TEMPLATE}' | envsubst '$${README_TEMPLATE}' >/tmp/readme-template.md @sed -e 's/$$(PROJECT)/$(PROJECT)/g' \ -e 's/$$(PROFILE)/$(PROFILE)/g' \ -e 's/$$(INFERENCE_EXTENSION_VERSION)/$(INFERENCE_EXTENSION_VERSION)/g' \ @@ -437,7 +437,7 @@ setup-crds: setup-gateway-api-crds setup-inference-extension-crds setup-tls: @echo "Setting up TLS for EPP..." -kubectl create namespace gateway-conformance-app-backend || true - $(file >/tmp/tls-destination-rules.yaml,$(TLS_DESTINATION_RULES)) + echo '$${TLS_DESTINATION_RULES}' | envsubst '$${TLS_DESTINATION_RULES}' >/tmp/tls-destination-rules.yaml kubectl apply -f /tmp/tls-destination-rules.yaml @rm -f /tmp/tls-destination-rules.yaml From 69b6c25cf884a02c2bf31e9c813eae8ce71d8225 Mon Sep 17 00:00:00 2001 From: Shmuel Kallner Date: Thu, 31 Jul 2025 14:05:53 +0300 Subject: [PATCH 3/5] Made file update work on MacOS as well Signed-off-by: Shmuel Kallner --- conformance/scripts/istio/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/conformance/scripts/istio/Makefile b/conformance/scripts/istio/Makefile index 66fc0045a..a1fb81e9e 100644 --- a/conformance/scripts/istio/Makefile +++ b/conformance/scripts/istio/Makefile @@ -300,7 +300,13 @@ setup-kind: @DOCKER_NETWORK=$$(docker network inspect -f '{{range .IPAM.Config}}{{.Gateway}}{{end}}' kind); \ NETWORK_PREFIX=$${DOCKER_NETWORK%.*}; \ echo "Using IP range: $${NETWORK_PREFIX}.200-$${NETWORK_PREFIX}.250"; \ - sed -i "s/NETWORK_PREFIX/$${NETWORK_PREFIX}/g" /tmp/metallb-kind-config.yaml + OS=$$(uname -s | tr '[:upper:]' '[:lower:]'); \ + if [ "$$OS" = "darwin" ]; then \ + BACKUP=".bak"; \ + else \ + BACKUP=""; \ + fi; \ + sed -i $${BACKUP} "s/NETWORK_PREFIX/$${NETWORK_PREFIX}/g" /tmp/metallb-kind-config.yaml kubectl apply -f /tmp/metallb-kind-config.yaml @rm -f /tmp/metallb-kind-config.yaml From 4cc0e3f23ea8497e4eb75495ab706576cba8d4c4 Mon Sep 17 00:00:00 2001 From: Shmuel Kallner Date: Thu, 31 Jul 2025 14:06:35 +0300 Subject: [PATCH 4/5] Istioctl MacOS releases are labeled as OSX Signed-off-by: Shmuel Kallner --- conformance/scripts/istio/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conformance/scripts/istio/Makefile b/conformance/scripts/istio/Makefile index a1fb81e9e..ca749e67b 100644 --- a/conformance/scripts/istio/Makefile +++ b/conformance/scripts/istio/Makefile @@ -323,6 +323,9 @@ $(ISTIOCTL_BIN): @echo "Downloading istioctl version $(ISTIO_VERSION)..." @mkdir -p $(ISTIOCTL_DIR) @OS=$$(uname -s | tr '[:upper:]' '[:lower:]'); \ + case "$$OS" in \ + darwin) OS=OSX ;; \ + esac; \ ARCH=$$(uname -m); \ case "$$ARCH" in \ x86_64) ARCH=amd64 ;; \ From 27e1160034210dacfbe2c525919252ab7524d578 Mon Sep 17 00:00:00 2001 From: Shmuel Kallner Date: Thu, 31 Jul 2025 14:07:06 +0300 Subject: [PATCH 5/5] Added a newline at the end of the file Signed-off-by: Shmuel Kallner --- conformance/scripts/istio/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conformance/scripts/istio/Makefile b/conformance/scripts/istio/Makefile index ca749e67b..c70425471 100644 --- a/conformance/scripts/istio/Makefile +++ b/conformance/scripts/istio/Makefile @@ -546,4 +546,4 @@ clean-reports: @echo "Cleaning up README..." rm -f $(REPORT_BASE_DIR)/README.md @echo "Conformance reports and README for $(PROJECT) cleaned up" - @echo "Note: Run 'make readme-update' to regenerate the README with current $(REPORT_BASE_DIR) reports" \ No newline at end of file + @echo "Note: Run 'make readme-update' to regenerate the README with current $(REPORT_BASE_DIR) reports"