From 081cc60aa501f22747b994c70abcb0a59371075c Mon Sep 17 00:00:00 2001 From: cybuzuma <106408965+cybuzuma@users.noreply.github.com> Date: Tue, 13 Dec 2022 08:18:53 +0100 Subject: [PATCH] fixing build.sh not returning error in build (#1460) Return the build status as return code from the `main` helper function. In the process convert the handling if the file was sourced or directly executed into an explicit if/else statement to make the intent clearer. In case of an build error the error is now reported at the build step, where the error happened. Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/1292 --- .devcontainer/build.sh | 12 +++++++++++- docker/build.sh | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.devcontainer/build.sh b/.devcontainer/build.sh index 3d8aecbf..b4f080dd 100644 --- a/.devcontainer/build.sh +++ b/.devcontainer/build.sh @@ -35,6 +35,8 @@ main() { if [ "$DISABLE_POSTBUILD" != "true" -a "$BUILD_RESULT" == 0 ]; then source "$BUILD_DIR/post_build.sh" fi + # assuming post_build.sh will never fail on a successful build + return $BUILD_RESULT } GetGcc() { @@ -74,4 +76,12 @@ CmakeBuild() { fi } -[[ $SOURCED == "false" ]] && main "$@" || echo "Sourced!" \ No newline at end of file +if [[ $SOURCED == "false" ]]; then + # It is important to return exit code of main + # To be future-proof, this is handled explicitely + main "$@" + BUILD_RESULT=$? + exit $BUILD_RESULT +else + echo "Sourced!" +fi diff --git a/docker/build.sh b/docker/build.sh index 07e0d17e..b9034a53 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -41,6 +41,8 @@ main() { if [ "$DISABLE_POSTBUILD" != "true" -a "$BUILD_RESULT" == 0 ]; then source "$BUILD_DIR/post_build.sh" fi + # assuming post_build.sh will never fail on a successful build + return $BUILD_RESULT } GetGcc() { @@ -77,4 +79,12 @@ CmakeBuild() { fi } -[[ $SOURCED == "false" ]] && main "$@" || echo "Sourced!" +if [[ $SOURCED == "false" ]]; then + # It is important to return exit code of main + # To be future-proof, this is handled explicitely + main "$@" + BUILD_RESULT=$? + exit $BUILD_RESULT +else + echo "Sourced!" +fi