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>
This commit is contained in:
committed by
Junio C Hamano
parent
7789ea5842
commit
ecaacbc7a2
23
.github/workflows/check-whitespace.yml
vendored
23
.github/workflows/check-whitespace.yml
vendored
@ -31,14 +31,15 @@ jobs:
|
|||||||
commit=
|
commit=
|
||||||
commitText=
|
commitText=
|
||||||
commitTextmd=
|
commitTextmd=
|
||||||
goodparent=
|
goodParent=
|
||||||
while read dash sha etc
|
while read dash sha etc
|
||||||
do
|
do
|
||||||
case "${dash}" in
|
case "${dash}" in
|
||||||
"---")
|
"---") # Line contains commit information.
|
||||||
if test -z "${commit}"
|
if test -z "${goodParent}"
|
||||||
then
|
then
|
||||||
goodparent=${sha}
|
# Assume the commit has no whitespace errors until detected otherwise.
|
||||||
|
goodParent=${sha}
|
||||||
fi
|
fi
|
||||||
commit="${sha}"
|
commit="${sha}"
|
||||||
commitText="${sha} ${etc}"
|
commitText="${sha} ${etc}"
|
||||||
@ -46,18 +47,18 @@ jobs:
|
|||||||
;;
|
;;
|
||||||
"")
|
"")
|
||||||
;;
|
;;
|
||||||
*)
|
*) # Line contains whitespace error information for current commit.
|
||||||
if test -n "${commit}"
|
if test -n "${goodParent}"
|
||||||
then
|
then
|
||||||
problems+=("1) --- ${commitTextmd}")
|
problems+=("1) --- ${commitTextmd}")
|
||||||
echo ""
|
echo ""
|
||||||
echo "--- ${commitText}"
|
echo "--- ${commitText}"
|
||||||
commit=
|
goodParent=
|
||||||
fi
|
fi
|
||||||
case "${dash}" in
|
case "${dash}" in
|
||||||
*:[1-9]*:) # contains file and line number information
|
*:[1-9]*:) # contains file and line number information
|
||||||
dashend=${dash#*:}
|
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}\`")
|
problems+=("\`${dash} ${sha} ${etc}\`")
|
||||||
@ -70,15 +71,15 @@ jobs:
|
|||||||
|
|
||||||
if test ${#problems[*]} -gt 0
|
if test ${#problems[*]} -gt 0
|
||||||
then
|
then
|
||||||
if test -z "${commit}"
|
if test -z "${goodParent}"
|
||||||
then
|
then
|
||||||
goodparent=${baseSha: 0:7}
|
goodParent=${baseSha: 0:7}
|
||||||
fi
|
fi
|
||||||
echo "🛑 Please review the Summary output for further information."
|
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 "### :x: A whitespace issue was found in one or more of the commits." >$GITHUB_STEP_SUMMARY
|
||||||
echo "" >>$GITHUB_STEP_SUMMARY
|
echo "" >>$GITHUB_STEP_SUMMARY
|
||||||
echo "Run these commands to correct the problem:" >>$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 "1. \`git push --force\`" >>$GITHUB_STEP_SUMMARY
|
||||||
echo " " >>$GITHUB_STEP_SUMMARY
|
echo " " >>$GITHUB_STEP_SUMMARY
|
||||||
echo "Errors:" >>$GITHUB_STEP_SUMMARY
|
echo "Errors:" >>$GITHUB_STEP_SUMMARY
|
||||||
|
|||||||
Reference in New Issue
Block a user