44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			44 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
							 |