45 lines
1.2 KiB
Bash
45 lines
1.2 KiB
Bash
|
#!/bin/bash
|
||
|
set -e -o pipefail
|
||
|
|
||
|
# If we're on the presubmit branch, the dev Dart release, and all unit
|
||
|
# tests pass, merge the presubmit branch into master and push it.
|
||
|
|
||
|
|
||
|
CHANNEL=`echo $JOB | cut -f 2 -d -`
|
||
|
SHA=`git rev-parse HEAD`
|
||
|
|
||
|
echo Current channel is: $CHANNEL
|
||
|
echo Current branch is: $TRAVIS_BRANCH
|
||
|
echo Test result is: $TRAVIS_TEST_RESULT
|
||
|
|
||
|
if [ "$TRAVIS_REPO_SLUG" = "angular/angular" ]; then
|
||
|
if [ $TRAVIS_TEST_RESULT -eq 0 ] && [[ $TRAVIS_BRANCH == "presubmit-"* ]]; then
|
||
|
echo '***************'
|
||
|
echo '** PRESUBMIT **'
|
||
|
echo '***************'
|
||
|
echo
|
||
|
echo "Pushing HEAD to master..."
|
||
|
git stash
|
||
|
git fetch upstream master
|
||
|
git rebase upstream/master
|
||
|
if git push upstream HEAD:master; then
|
||
|
echo "$TRAVIS_BRANCH has been merged into master, deleting..."
|
||
|
git push upstream :"$TRAVIS_BRANCH"
|
||
|
else
|
||
|
COMITTER_EMAIL=`git --no-pager show -s --format='%cE' HEAD`
|
||
|
echo Sending failure email to ${COMITTER_EMAIL}
|
||
|
mail \
|
||
|
-s "Failed to merge branch $TRAVIS_BRANCH to master" \
|
||
|
${COMMITTER_EMAIL} \
|
||
|
<< EOM
|
||
|
Your travis branch ${TRAVIS_BRANCH} failed!
|
||
|
|
||
|
https://travis-ci.org/angular/angular/builds/${TRAVIS_JOB_ID}
|
||
|
|
||
|
Please take a look.
|
||
|
EOM
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
`
|