From fd7fc8f41bdac0084cd1c0558140772800a956aa Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Tue, 2 Jun 2026 16:12:30 +1000 Subject: [PATCH] refactor(ci): convert CRD schema generator to uv inline script --- ci/generate-crd-schemas.py | 8 ++++++-- ci/generate-crd-schemas.sh | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ci/generate-crd-schemas.py b/ci/generate-crd-schemas.py index 2b0fd16..7d064e9 100755 --- a/ci/generate-crd-schemas.py +++ b/ci/generate-crd-schemas.py @@ -1,9 +1,13 @@ -#!/usr/bin/env python3 +#!/usr/bin/env -S uv run +# /// script +# requires-python = ">=3.11" +# dependencies = ["pyyaml"] +# /// """ Extract OpenAPI v3 schemas from CRD YAML on stdin and write JSON schema files to the output directory for use with kubeconform. -Usage: kustomize build ... | python3 ci/generate-crd-schemas.py +Usage: kustomize build ... | ci/generate-crd-schemas.py """ import sys import json diff --git a/ci/generate-crd-schemas.sh b/ci/generate-crd-schemas.sh index c7a2148..30b7e80 100755 --- a/ci/generate-crd-schemas.sh +++ b/ci/generate-crd-schemas.sh @@ -16,7 +16,7 @@ total=0 while IFS= read -r -d "" k; do dir="$(dirname "$k")" n=$(kustomize build --enable-helm "$dir" 2>/dev/null \ - | python3 "$SCRIPT_DIR/generate-crd-schemas.py" "$OUTPUT_DIR") || continue + | "$SCRIPT_DIR/generate-crd-schemas.py" "$OUTPUT_DIR") || continue total=$((total + n)) done < <(find apps/overlays clusters -name kustomization.yaml -print0 | sort -z)