From c239e359f6acea8c55be9221d5d80314cc5c1086 Mon Sep 17 00:00:00 2001 From: Martine Lenders Date: Sun, 28 Feb 2016 20:44:27 +0100 Subject: [PATCH 1/2] travis: warn about differing .travis.yml --- dist/tools/travis-scripts/build_and_test.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/dist/tools/travis-scripts/build_and_test.sh b/dist/tools/travis-scripts/build_and_test.sh index 475ad9f1af8e..d09a471caa11 100755 --- a/dist/tools/travis-scripts/build_and_test.sh +++ b/dist/tools/travis-scripts/build_and_test.sh @@ -28,6 +28,21 @@ then then RESULT=0 + if git diff master HEAD -- .travis.yml &> /dev/null; then + # check if .travis.yml was changed in the current PR and skip if so + if ! git diff --name-only $(git merge-base HEAD master)..HEAD -- \ + .travis.yml &> 1; then + echo "==============================================================" >&2 + echo -e "\033[1;31m.travis.yml differs in upstream.\033[0m" + echo -e "\033[1;31mPlease rebase your PR to current upstream or expect errors!!!!\033[0m" >&2 + echo " git fetch https://github.com/RIOT-OS/RIOT master" >&2 + echo " git rebase FETCH_HEAD" >&2 + echo " git push -f origin $(git rev-parse --abbrev-ref HEAD)" >&2 + echo "==============================================================" >&2 + return 1 + fi + fi + git rebase master || git rebase --abort RESULT=$(set_result $? $RESULT) From 77bf5277f6580e856aab2b688c8ae089e3f6b460 Mon Sep 17 00:00:00 2001 From: Martine Lenders Date: Tue, 1 Mar 2016 13:54:04 +0100 Subject: [PATCH 2/2] dist: Recall build_and_test.sh after rebase if it was changed --- dist/tools/travis-scripts/build_and_test.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dist/tools/travis-scripts/build_and_test.sh b/dist/tools/travis-scripts/build_and_test.sh index d09a471caa11..6ba3d75f28ff 100755 --- a/dist/tools/travis-scripts/build_and_test.sh +++ b/dist/tools/travis-scripts/build_and_test.sh @@ -27,6 +27,7 @@ then if [ "$BUILDTEST_MCU_GROUP" == "static-tests" ] then RESULT=0 + RECALL="$1" if git diff master HEAD -- .travis.yml &> /dev/null; then # check if .travis.yml was changed in the current PR and skip if so @@ -43,6 +44,15 @@ then fi fi + if [ "$RECALL" != "recall" ]; then + if git diff master HEAD -- "$0" &> /dev/null; then + git rebase master || git rebase --abort + + "$0" "recall" + exit $? + fi + fi + git rebase master || git rebase --abort RESULT=$(set_result $? $RESULT)