53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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 [[ $TRAVIS_BRANCH == *"-pr-"* ]]; then
 | 
						|
      PR_NO=`echo $TRAVIS_BRANCH | sed -e 's/^.*-pr-//'`
 | 
						|
      if echo $PR_NO | egrep -q '^[0-9]+$'; then
 | 
						|
        echo "Adding Closes #$PR_NO"
 | 
						|
        git filter-branch -f --msg-filter "cat /dev/stdin && echo && echo Closes \#$PR_NO" HEAD~1..HEAD
 | 
						|
      fi
 | 
						|
    fi
 | 
						|
 | 
						|
    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
 |