| 
									
										
										
										
											2015-07-27 17:00:01 -07:00
										 |  |  | #!/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 | 
					
						
							| 
									
										
										
										
											2015-08-08 19:23:14 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     if [[ $TRAVIS_BRANCH == *"-pr-"* ]]; then | 
					
						
							| 
									
										
										
										
											2015-08-09 10:37:57 -07:00
										 |  |  |       PR_NO=`echo $TRAVIS_BRANCH | sed -e 's/^.*-pr-//'` | 
					
						
							| 
									
										
										
										
											2015-08-08 19:23:14 -07:00
										 |  |  |       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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-27 17:00:01 -07:00
										 |  |  |     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 |