@@ -493,41 +493,47 @@ jobs:
493493 fi
494494 done
495495
496- # If no reports were found, create placeholders
496+ # If no reports were found, create placeholders using a safer approach
497497 if [ ! -f "./docs/reports/zap-baseline-report.xml" ] && [ ! -f "./docs/reports/zap-baseline-report.json" ]; then
498- echo "Creating placeholder for ZAP baseline report (XML)"
499- echo '<?xml version="1.0" encoding="UTF-8"?>
500- <OWASPZAPReport version="2.11.0" generated="$(date)">
501- <site name="http://localhost:4200">
502- <alerts></alerts>
503- </site>
504- </OWASPZAPReport>' > ./docs/reports/zap-baseline-report.xml
498+ echo "Creating placeholder for ZAP baseline reports (XML and JSON)"
499+ # Create XML placeholder using multiple echo statements to avoid YAML syntax issues
500+ echo '<?xml version="1.0" encoding="UTF-8"?>' > ./docs/reports/zap-baseline-report.xml
501+ echo '<OWASPZAPReport version="2.11.0" generated="'$(date)'">' >> ./docs/reports/zap-baseline-report.xml
502+ echo ' <site name="http://localhost:4200">' >> ./docs/reports/zap-baseline-report.xml
503+ echo ' <alerts></alerts>' >> ./docs/reports/zap-baseline-report.xml
504+ echo ' </site>' >> ./docs/reports/zap-baseline-report.xml
505+ echo '</OWASPZAPReport>' >> ./docs/reports/zap-baseline-report.xml
505506
506- echo "Creating placeholder for ZAP baseline report (JSON)"
507- echo '{
507+ # Create JSON placeholder
508+ cat > ./docs/reports/zap-baseline-report.json << 'EOF'
509+ {
508510 " site " : " http://localhost:4200" ,
509- " generated " : " '$(date)' " ,
511+ " generated " : " 2025-09-07T12:00:00 " ,
510512 " version " : " 2.11.0" ,
511513 " alerts " : []
512- }' > ./docs/reports/zap-baseline-report.json
514+ }
515+ EOF
513516 fi
514517
515518 if [ ! -f "./docs/reports/zap-full-scan-report.xml" ] && [ ! -f "./docs/reports/zap-full-scan-report.json" ]; then
516- echo "Creating placeholder for ZAP full scan report (XML)"
517- echo '<?xml version="1.0" encoding="UTF-8"?>
518- <OWASPZAPReport version="2.11.0" generated="$(date)">
519- <site name="http://localhost:4200">
520- <alerts></alerts>
521- </site>
522- </OWASPZAPReport>' > ./docs/reports/zap-full-scan-report.xml
519+ echo "Creating placeholder for ZAP full scan reports (XML and JSON)"
520+ # Create XML placeholder using multiple echo statements
521+ echo '<?xml version="1.0" encoding="UTF-8"?>' > ./docs/reports/zap-full-scan-report.xml
522+ echo '<OWASPZAPReport version="2.11.0" generated="'$(date)'">' >> ./docs/reports/zap-full-scan-report.xml
523+ echo ' <site name="http://localhost:4200">' >> ./docs/reports/zap-full-scan-report.xml
524+ echo ' <alerts></alerts>' >> ./docs/reports/zap-full-scan-report.xml
525+ echo ' </site>' >> ./docs/reports/zap-full-scan-report.xml
526+ echo '</OWASPZAPReport>' >> ./docs/reports/zap-full-scan-report.xml
523527
524- echo "Creating placeholder for ZAP full scan report (JSON)"
525- echo '{
528+ # Create JSON placeholder using heredoc with fixed date to avoid YAML issues
529+ cat > ./docs/reports/zap-full-scan-report.json << 'EOF'
530+ {
526531 " site " : " http://localhost:4200" ,
527- " generated " : " '$(date)' " ,
532+ " generated " : " 2025-09-07T12:00:00 " ,
528533 " version " : " 2.11.0" ,
529534 " alerts " : []
530- }' > ./docs/reports/zap-full-scan-report.json
535+ }
536+ EOF
531537 fi
532538
533539 # Check if any reports were copied or created
0 commit comments