diff --git a/Makefile b/Makefile index ab365c3b8..fbf3bf516 100644 --- a/Makefile +++ b/Makefile @@ -75,7 +75,7 @@ export color build: clean $(JERRY_TARGETS) -all: clean $(JERRY_TARGETS) $(TESTS_TARGET) $(CHECK_TARGETS) +all: precommit PRECOMMIT_CHECK_TARGETS_LIST= debug.linux-sanitize.check \ debug.linux-valgrind.check \ @@ -85,7 +85,12 @@ PRECOMMIT_CHECK_TARGETS_LIST= debug.linux-sanitize.check \ release.linux-musl-valgrind.check \ release.linux-libc_raw-valgrind.check -precommit: clean build +push: ./tools/push.sh + @ ./tools/push.sh + +precommit: clean + @ echo -e "\nBuilding...\n\n" + @ $(MAKE) -s build @ echo -e "\n================ Build completed successfully. Running precommit tests ================\n" @ echo -e "All targets were built successfully. Starting unit tests' build and run.\n" @ $(MAKE) -s unittests TESTS_OPTS="--silent" diff --git a/tools/push.sh b/tools/push.sh index b2c96532c..c24c8165f 100755 --- a/tools/push.sh +++ b/tools/push.sh @@ -45,7 +45,15 @@ then exit 1 fi -commits_to_push=`git log origin/master..master | grep "^commit [0-9a-f]*$" | awk 'BEGIN { s = "";} {s = $2" "s;} END {print s;}'` +commits_to_push=`git log origin/master..master | grep "^commit [0-9a-f]*$" | awk 'BEGIN { s = ""; } { s = $2" "s; } END { print s; }'` + +echo $commits_to_push | grep "[^ ]" +status_code=$? +if [ $status_code -ne 0 ] +then + echo "Nothing to push" + exit 0 +fi echo echo "===== Starting pre-push commit testing series =====" @@ -90,12 +98,14 @@ echo if [ $ok_to_push -eq 1 ] then - if [ "`git status --porcelain 2>&1 | grep -v -e '^?? out/$$' | wc -l`" == "0" ] + if [ "`git status --porcelain 2>&1 | wc -l`" == "0" ] then - echo "git push" + echo "Pushing..." echo git push + + echo -e "\e[0;32mPushed successfully\e[0m" exit 0 else echo -e "\e[1;33m $GIT_STATUS_NOT_CLEAN_MSG. $GIT_STATUS_CONSIDER_CLEAN_MSG.\e[0m\n"