@@ -727,10 +727,32 @@ runs:
727
727
exit 0
728
728
fi
729
729
730
- # Extract markdown files to check
730
+ # Get both CSV and JSON formats - some tools work better with one or the other
731
+ CHANGED_FILES_CSV='${{ steps.file-detection.outputs.changed_files_csv }}'
732
+
733
+ # Extract markdown files to check from JSON
731
734
FILES_TO_CHECK=$(echo "$CHANGED_FILES_JSON" | jq -r '.[] | select(endswith(".md"))' | tr '\n' ' ')
732
735
733
- if [ -z "$FILES_TO_CHECK" ]; then
736
+ # Create a more compatible format for tools that need comma-separated values
737
+ # First filter the CSV to only include markdown files
738
+ if [ -n "$CHANGED_FILES_CSV" ]; then
739
+ MD_FILES_CSV=$(echo "$CHANGED_FILES_CSV" | tr ',' '\n' | grep '\.md$' | tr '\n' ',' | sed 's/,$//')
740
+ else
741
+ MD_FILES_CSV=""
742
+ fi
743
+
744
+ if [ -z "$FILES_TO_CHECK" ] && [ -z "$MD_FILES_CSV" ]; then
745
+ echo "No markdown files to check"
746
+ echo "status=success" >> $GITHUB_OUTPUT
747
+ echo "message=No markdown files to check" >> $GITHUB_OUTPUT
748
+ echo "::endgroup::"
749
+ exit 0
750
+ fi$' | tr '\n' ',' | sed 's/,$//')
751
+ else
752
+ MD_FILES_CSV=""
753
+ fi
754
+
755
+ if [ -z "$FILES_TO_CHECK" ] && [ -z "$MD_FILES_CSV" ]; then
734
756
echo "No markdown files to check"
735
757
echo "status=success" >> $GITHUB_OUTPUT
736
758
echo "message=No markdown files to check" >> $GITHUB_OUTPUT
@@ -748,17 +770,36 @@ runs:
748
770
exit 0
749
771
fi
750
772
751
- # Count files
752
- FILE_COUNT=$(echo "$FILES_TO_CHECK" | wc -w | tr -d ' ')
773
+ # Count files - from space-separated list or from comma counts
774
+ if [ -n "$FILES_TO_CHECK" ]; then
775
+ FILE_COUNT=$(echo "$FILES_TO_CHECK" | wc -w | tr -d ' ')
776
+ elif [ -n "$MD_FILES_CSV" ]; then
777
+ FILE_COUNT=$(echo "$MD_FILES_CSV" | tr ',' '\n' | wc -l | tr -d ' ')
778
+ else
779
+ FILE_COUNT=0
780
+ fi
781
+
753
782
echo "Checking $FILE_COUNT markdown files with Vale"
754
783
755
784
# Create temporary directory for results
756
785
TEMP_DIR=$(mktemp -d)
757
786
trap 'rm -rf "$TEMP_DIR"' EXIT
758
787
759
- # Run Vale with JSON output for processing
788
+ # Run Vale with JSON output for processing - use the format that works for the command line
789
+ # First try with space-separated list if available
760
790
echo "Running Vale with config .github/docs/vale/.vale.ini"
761
- vale --no-exit --output=JSON --config=.github/docs/vale/.vale.ini $FILES_TO_CHECK > "$TEMP_DIR/vale_results.json" 2>/dev/null || true
791
+ if [ -n "$FILES_TO_CHECK" ]; then
792
+ echo "Using space-separated file list for Vale"
793
+ vale --no-exit --output=JSON --config=.github/docs/vale/.vale.ini $FILES_TO_CHECK > "$TEMP_DIR/vale_results.json" 2>/dev/null || true
794
+ elif [ -n "$MD_FILES_CSV" ]; then
795
+ # Convert CSV to space-separated for command line
796
+ echo "Using converted CSV file list for Vale"
797
+ FILE_LIST=$(echo "$MD_FILES_CSV" | tr ',' ' ')
798
+ vale --no-exit --output=JSON --config=.github/docs/vale/.vale.ini $FILE_LIST > "$TEMP_DIR/vale_results.json" 2>/dev/null || true
799
+ else
800
+ echo "No files to check with Vale"
801
+ echo "[]" > "$TEMP_DIR/vale_results.json"
802
+ fi
762
803
763
804
# Process results from JSON output
764
805
if [ -f "$TEMP_DIR/vale_results.json" ]; then
0 commit comments