From 47653c798b711cc40f9a3550621ce9c74a6a4124 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 18 Nov 2025 18:03:45 +0000 Subject: [PATCH] Fix YAML syntax error in validation workflow The previous fix attempted to use escaped quotes within python -c '...' which caused YAML parsing errors. Instead, use heredocs (<<'EOF') which: - Avoid all quote escaping issues - Make Python code more readable - Work reliably in YAML literal blocks This fixes the workflow failure at line 79. --- .github/workflows/validation.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 5aa2b1e..b5632f2 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -75,7 +75,7 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY if [ -f validation_reference_results.json ]; then - python -c ' + python << 'EOF' >> $GITHUB_STEP_SUMMARY import json import sys @@ -85,22 +85,22 @@ with open("validation_reference_results.json") as f: summary = results["summary"] targets = results["targets"] -print(f"**Test Cases Run:** {summary[\"test_cases_run\"]}") -print(f"**Total Comparisons:** {summary[\"total\"]}") -print(f"**Passed:** {summary[\"passed\"]} ({summary[\"pass_rate\"]:.1f}%)") -print(f"**Failed:** {summary[\"failed\"]}") +print(f"**Test Cases Run:** {summary['test_cases_run']}") +print(f"**Total Comparisons:** {summary['total']}") +print(f"**Passed:** {summary['passed']} ({summary['pass_rate']:.1f}%)") +print(f"**Failed:** {summary['failed']}") print() pass_rate = summary["pass_rate"] if pass_rate >= targets["excellent_pass_rate"]: - print(f"✅ **EXCELLENT** - Pass rate {pass_rate:.1f}% exceeds target {targets[\"excellent_pass_rate\"]}%") + print(f"✅ **EXCELLENT** - Pass rate {pass_rate:.1f}% exceeds target {targets['excellent_pass_rate']}%") elif pass_rate >= targets["target_pass_rate"]: - print(f"✅ **VERY GOOD** - Pass rate {pass_rate:.1f}% exceeds target {targets[\"target_pass_rate\"]}%") + print(f"✅ **VERY GOOD** - Pass rate {pass_rate:.1f}% exceeds target {targets['target_pass_rate']}%") elif pass_rate >= targets["minimum_pass_rate"]: - print(f"✅ **PASSED** - Pass rate {pass_rate:.1f}% meets minimum {targets[\"minimum_pass_rate\"]}%") + print(f"✅ **PASSED** - Pass rate {pass_rate:.1f}% meets minimum {targets['minimum_pass_rate']}%") else: - print(f"❌ **BELOW TARGET** - Pass rate {pass_rate:.1f}% below minimum {targets[\"minimum_pass_rate\"]}%") -' >> $GITHUB_STEP_SUMMARY + print(f"❌ **BELOW TARGET** - Pass rate {pass_rate:.1f}% below minimum {targets['minimum_pass_rate']}%") +EOF else echo "❌ Validation failed to produce results" >> $GITHUB_STEP_SUMMARY fi @@ -144,7 +144,7 @@ if active_tests == 0: - name: Report test suite status run: | echo "## Test Suite Status" >> $GITHUB_STEP_SUMMARY - python -c ' + python << 'EOF' >> $GITHUB_STEP_SUMMARY import json with open("test_config.json") as f: @@ -160,9 +160,9 @@ print(f"**Pending Reference Data:** {len(pending)}") print() print("### Active Test Cases:") for tc in active: - print(f"- ✅ {tc[\"id\"]}: {tc[\"name\"]}") + print(f"- ✅ {tc['id']}: {tc['name']}") print() print("### Pending Test Cases:") for tc in pending: - print(f"- ⏳ {tc[\"id\"]}: {tc[\"name\"]}") -' >> $GITHUB_STEP_SUMMARY + print(f"- ⏳ {tc['id']}: {tc['name']}") +EOF