add better multi doc support
This commit is contained in:
@@ -65,7 +65,9 @@ jobs:
|
|||||||
echo "=== Validating: $file ==="
|
echo "=== Validating: $file ==="
|
||||||
DOC_COUNT=$(yq eval-all '...' "$file" | grep -c '^---')
|
DOC_COUNT=$(yq eval-all '...' "$file" | grep -c '^---')
|
||||||
for i in $(seq 0 $((DOC_COUNT - 1))); do
|
for i in $(seq 0 $((DOC_COUNT - 1))); do
|
||||||
KIND=$(yq eval-all ".[$i].kind // \"\"" "$file")
|
TMP_DOC="/tmp/doc_${i}_$$.yaml"
|
||||||
|
yq eval-all ".[$i]" "$file" > "$TMP_DOC"
|
||||||
|
KIND=$(yq eval ".kind // \"\"" "$TMP_DOC")
|
||||||
if [[ -n "$KIND" && -n "${SCHEMA_MAP[$KIND]}" ]]; then
|
if [[ -n "$KIND" && -n "${SCHEMA_MAP[$KIND]}" ]]; then
|
||||||
echo "Found $KIND in document $i - using custom schema"
|
echo "Found $KIND in document $i - using custom schema"
|
||||||
SCHEMA_URL="https://raw.githubusercontent.com/datreeio/CRDs-catalog/refs/heads/main/${SCHEMA_MAP[$KIND]}"
|
SCHEMA_URL="https://raw.githubusercontent.com/datreeio/CRDs-catalog/refs/heads/main/${SCHEMA_MAP[$KIND]}"
|
||||||
@@ -73,7 +75,7 @@ jobs:
|
|||||||
-schema-location "$SCHEMA_URL" \
|
-schema-location "$SCHEMA_URL" \
|
||||||
-cache "$KUBECONFORM_CACHE_DIR" \
|
-cache "$KUBECONFORM_CACHE_DIR" \
|
||||||
-output json \
|
-output json \
|
||||||
"$file"; then
|
"$TMP_DOC"; then
|
||||||
EXIT_CODE=1
|
EXIT_CODE=1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@@ -82,10 +84,11 @@ jobs:
|
|||||||
-schema-location default \
|
-schema-location default \
|
||||||
-cache "$KUBECONFORM_CACHE_DIR" \
|
-cache "$KUBECONFORM_CACHE_DIR" \
|
||||||
-output json \
|
-output json \
|
||||||
"$file"; then
|
"$TMP_DOC"; then
|
||||||
EXIT_CODE=1
|
EXIT_CODE=1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
rm -f "$TMP_DOC"
|
||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user