ci: Correctly propagate exit status in run-style-check-diff.sh

Spotted by Daniel Stone: the addition of the `echo` commands in commit
65541f1ad meant that the exit status from `clang-format-diff.py` was
being lost.

The incorrect use of `set +e` rather than `set -e` meant that
intermediate commands could fail without the failure being noticed.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
Philip Withnall 2020-02-25 11:11:42 +00:00
parent 276fff2b96
commit 95479256df

View File

@ -1,6 +1,9 @@
#!/bin/bash #!/bin/bash
set +e set -e
# Wrap everything in a subshell so we can propagate the exit status.
(
# We need to add a new remote for the upstream master, since this script could # We need to add a new remote for the upstream master, since this script could
# be running in a personal fork of the repository which has out of date branches. # be running in a personal fork of the repository which has out of date branches.
@ -15,6 +18,9 @@ git fetch upstream
newest_common_ancestor_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent upstream/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_DEFAULT_BRANCH}}) <(git rev-list --first-parent HEAD) | head -1) newest_common_ancestor_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent upstream/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_DEFAULT_BRANCH}}) <(git rev-list --first-parent HEAD) | head -1)
git diff -U0 --no-color "${newest_common_ancestor_sha}" | ./clang-format-diff.py -binary "clang-format-7" -p1 git diff -U0 --no-color "${newest_common_ancestor_sha}" | ./clang-format-diff.py -binary "clang-format-7" -p1
)
exit_status=$?
# The style check is not infallible. The clang-format configuration cannot # The style check is not infallible. The clang-format configuration cannot
# perfectly describe GLibs coding style: in particular, it cannot align # perfectly describe GLibs coding style: in particular, it cannot align
# function arguments. The documented coding style for GLib takes priority over # function arguments. The documented coding style for GLib takes priority over
@ -29,3 +35,5 @@ echo "Note that clang-format output is advisory and cannot always match the GLib
echo " https://gitlab.gnome.org/GNOME/gtk/blob/master/docs/CODING-STYLE" echo " https://gitlab.gnome.org/GNOME/gtk/blob/master/docs/CODING-STYLE"
echo "Warnings from this tool can be ignored in favour of the documented coding style," echo "Warnings from this tool can be ignored in favour of the documented coding style,"
echo "or in favour of matching the style of existing surrounding code." echo "or in favour of matching the style of existing surrounding code."
exit ${exit_status}