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
 |