git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 4/5] ci: make the whitespace report optional

From
Justin Tobler <jltobler@gmail.com>
Date
May 2, 2024, 19:38 UTC
Message-ID
<20240502193840.105355-5-jltobler@gmail.com>
In-Reply-To
<20240502193840.105355-1-jltobler@gmail.com>

The `check-whitespace` CI job generates a formatted output file containing whitespace error information. As not all CI providers support rendering a formatted summary, make its generation optional.

Signed-off-by: Justin Tobler <jltobler@gmail.com>
---
 ci/check-whitespace.sh | 45 +++++++++++++++++++++++++++++++-----------
 1 file changed, 33 insertions(+), 12 deletions(-)
diff --git a/ci/check-whitespace.sh b/ci/check-whitespace.sh
index f57d1ff5f0..fabd6ecde5 100755
--- a/ci/check-whitespace.sh
+++ b/ci/check-whitespace.sh
@@ -1,9 +1,20 @@
 #!/bin/bash
+#
+# Check that commits after a specified point do not contain new or modified
+# lines with whitespace errors. An optional formatted summary can be generated
+# by providing an output file path and url as additional arguments.
+#
 
 baseCommit=$1
 outputFile=$2
 url=$3
 
+if test "$#" -eq 0 || test "$#" -gt 3
+then
+	echo "USAGE: $0 <BASE_COMMIT> [<OUTPUT_FILE> <URL>]"
+	exit 1
+fi
+
 problems=()
 commit=
 commitText=
@@ -56,19 +67,29 @@ then
 		goodParent=${baseCommit: 0:7}
 	fi
 
-	echo "🛑 Please review the Summary output for further information."
-	echo "### :x: A whitespace issue was found in one or more of the commits." >"$outputFile"
-	echo "" >>"$outputFile"
-	echo "Run these commands to correct the problem:" >>"$outputFile"
-	echo "1. \`git rebase --whitespace=fix ${goodParent}\`" >>"$outputFile"
-	echo "1. \`git push --force\`" >>"$outputFile"
-	echo " " >>"$outputFile"
-	echo "Errors:" >>"$outputFile"
+	echo "A whitespace issue was found in onen of more of the commits."
+	echo "Run the following command to resolve whitespace issues:"
+	echo "git rebase --whitespace=fix ${goodParent}"
+
+	# If target output file is provided, write formatted ouput.
+	if test -n "$outputFile"
+	then
+		echo "🛑 Please review the Summary output for further information."
+		(
+			echo "### :x: A whitespace issue was found in one or more of the commits."
+			echo ""
+			echo "Run these commands to correct the problem:"
+			echo "1. \`git rebase --whitespace=fix ${goodParent}\`"
+			echo "1. \`git push --force\`"
+			echo ""
+			echo "Errors:"
 
-	for i in "${problems[@]}"
-	do
-		echo "${i}" >>"$outputFile"
-	done
+			for i in "${problems[@]}"
+			do
+				echo "${i}"
+			done
+		) >"$outputFile"
+	fi
 
 	exit 2
 fi
-- 
2.45.0
Previous: Chris TorekNext: Patrick Steinhardt
Message 23 of 42 in “Add GitLab CI to check for whitespace errors”
  1. 0/2 Add GitLab CI to check for whitespace errorsJustin Tobler, Apr 30, 2024
  2. 1/2 ci: pre-collapse GitLab CI sectionsJustin Tobler, Apr 30, 2024
  3. 2/2 gitlab-ci: add whitespace error checkJustin Tobler, Apr 30, 2024
  4. James LiuApr 30, 2024
  5. Justin ToblerApr 30, 2024
  6. Patrick SteinhardtApr 30, 2024
  7. Patrick SteinhardtApr 30, 2024
  8. Taylor BlauApr 30, 2024
  9. Justin ToblerApr 30, 2024
  10. Patrick SteinhardtApr 30, 2024
  11. Justin ToblerApr 30, 2024
  12. Patrick SteinhardtApr 30, 2024
  13. Justin ToblerApr 30, 2024
  14. 0/5 Add GitLab CI to check for whitespace errorsJustin Tobler, May 2, 2024
  15. 1/5 ci: pre-collapse GitLab CI sectionsJustin Tobler, May 2, 2024
  16. 2/5 github-ci: fix link to whitespace errorJustin Tobler, May 2, 2024
  17. 3/5 ci: separate whitespace check scriptJustin Tobler, May 2, 2024
  18. Patrick SteinhardtMay 3, 2024
  19. Justin ToblerMay 3, 2024
  20. Junio C HamanoMay 3, 2024
  21. Patrick SteinhardtMay 3, 2024
  22. Chris TorekMay 4, 2024
  23. 4/5 ci: make the whitespace report optionalJustin Tobler, May 2, 2024
  24. Patrick SteinhardtMay 3, 2024
  25. Justin ToblerMay 3, 2024
  26. 5/5 gitlab-ci: add whitespace error checkJustin Tobler, May 2, 2024
  27. Patrick SteinhardtMay 3, 2024
  28. Junio C HamanoMay 2, 2024
  29. Justin ToblerMay 3, 2024
  30. 0/5 Add GitLab CI to check for whitespace errorsJustin Tobler, May 3, 2024
  31. 1/5 ci: pre-collapse GitLab CI sectionsJustin Tobler, May 3, 2024
  32. 2/5 github-ci: fix link to whitespace errorJustin Tobler, May 3, 2024
  33. 3/5 ci: separate whitespace check scriptJustin Tobler, May 3, 2024
  34. 4/5 ci: make the whitespace report optionalJustin Tobler, May 3, 2024
  35. 5/5 gitlab-ci: add whitespace error checkJustin Tobler, May 3, 2024
  36. Patrick SteinhardtMay 6, 2024
  37. Justin ToblerMay 6, 2024
  38. Junio C HamanoMay 6, 2024
  39. Justin ToblerMay 6, 2024
  40. Patrick SteinhardtMay 7, 2024
  41. Justin ToblerMay 7, 2024
  42. Patrick SteinhardtMay 7, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.