aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Tobler <jltobler@gmail.com>2024-05-03 12:21:04 -0500
committerJunio C Hamano <gitster@pobox.com>2024-05-03 12:11:49 -0700
commitecaacbc7a278549f31d6f77d729c49fa60eec734 (patch)
tree7b143f7a85e1dd5213ee024d60d6b30265e212ed
parent7789ea584232770210f169505b27eb1381b9c3b0 (diff)
downloadgit-ecaacbc7a278549f31d6f77d729c49fa60eec734.tar.gz
github-ci: fix link to whitespace error
When the `check-whitespace` CI job detects whitespace errors, a formatted summary of the issue is generated. This summary contains links to the commits and blobs responsible for the whitespace errors. The generated links for blobs do not work and result in a 404. Instead of using the reference name in the link, use the commit ID directly. This fixes the broken link and also helps enable future generalization of the script for other CI providers by removing one of the GitHub specific CI variables used. Signed-off-by: Justin Tobler <jltobler@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--.github/workflows/check-whitespace.yml23
1 files changed, 12 insertions, 11 deletions
diff --git a/.github/workflows/check-whitespace.yml b/.github/workflows/check-whitespace.yml
index a241a63428..a3a6913ecc 100644
--- a/.github/workflows/check-whitespace.yml
+++ b/.github/workflows/check-whitespace.yml
@@ -31,14 +31,15 @@ jobs:
commit=
commitText=
commitTextmd=
- goodparent=
+ goodParent=
while read dash sha etc
do
case "${dash}" in
- "---")
- if test -z "${commit}"
+ "---") # Line contains commit information.
+ if test -z "${goodParent}"
then
- goodparent=${sha}
+ # Assume the commit has no whitespace errors until detected otherwise.
+ goodParent=${sha}
fi
commit="${sha}"
commitText="${sha} ${etc}"
@@ -46,18 +47,18 @@ jobs:
;;
"")
;;
- *)
- if test -n "${commit}"
+ *) # Line contains whitespace error information for current commit.
+ if test -n "${goodParent}"
then
problems+=("1) --- ${commitTextmd}")
echo ""
echo "--- ${commitText}"
- commit=
+ goodParent=
fi
case "${dash}" in
*:[1-9]*:) # contains file and line number information
dashend=${dash#*:}
- problems+=("[${dash}](https://github.com/${{ github.repository }}/blob/${{github.event.pull_request.head.ref}}/${dash%%:*}#L${dashend%:}) ${sha} ${etc}")
+ problems+=("[${dash}](https://github.com/${{ github.repository }}/blob/${commit}/${dash%%:*}#L${dashend%:}) ${sha} ${etc}")
;;
*)
problems+=("\`${dash} ${sha} ${etc}\`")
@@ -70,15 +71,15 @@ jobs:
if test ${#problems[*]} -gt 0
then
- if test -z "${commit}"
+ if test -z "${goodParent}"
then
- goodparent=${baseSha: 0:7}
+ goodParent=${baseSha: 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." >$GITHUB_STEP_SUMMARY
echo "" >>$GITHUB_STEP_SUMMARY
echo "Run these commands to correct the problem:" >>$GITHUB_STEP_SUMMARY
- echo "1. \`git rebase --whitespace=fix ${goodparent}\`" >>$GITHUB_STEP_SUMMARY
+ echo "1. \`git rebase --whitespace=fix ${goodParent}\`" >>$GITHUB_STEP_SUMMARY
echo "1. \`git push --force\`" >>$GITHUB_STEP_SUMMARY
echo " " >>$GITHUB_STEP_SUMMARY
echo "Errors:" >>$GITHUB_STEP_SUMMARY