32 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # Pushing changes into the Angular 2 tree
 | ||
|  | 
 | ||
|  | Please see [Using git with Angular repositories](https://docs.google.com/document/d/1h8nijFSaa1jG_UE8v4WP7glh5qOUXnYtAtJh_gwOQHI/edit) | ||
|  | for details about how we maintain a linear commit history, and the rules for committing. | ||
|  | 
 | ||
|  | As a contributor, just read the instructions in [CONTRIBUTING.md](CONTRIBUTING.md) and send a pull request. | ||
|  | Someone with committer access will do the rest. | ||
|  | 
 | ||
|  | ## The `PR: merge` label and `presubmit-*` branches
 | ||
|  | 
 | ||
|  | We have automated the process for merging pull requests into master. Our goal is to minimize the disruption for | ||
|  | Angular committers and also prevent breakages on master. | ||
|  | 
 | ||
|  | When a PR is ready to merge, a project member in the CoreTeamMember list (see below) can add the special label, | ||
|  | `PR: merge`. | ||
|  | A robot running as [mary-poppins](https://github.com/mary-poppins) | ||
|  | is notified that the label was added by an authorized person, | ||
|  | and will create a new branch in the angular project, using the convention `presubmit-{username}-pr-{number}`. | ||
|  | 
 | ||
|  | (Note: if the automation fails, committers can instead push the commits to a branch following this naming scheme.) | ||
|  | 
 | ||
|  | When a Travis build succeeds for a presubmit branch named following the convention, | ||
|  | Travis will re-base the commits, merge to master, and close the PR automatically. | ||
|  | 
 | ||
|  | Finally, after merge `mary-poppins` removes the presubmit branch. | ||
|  | 
 | ||
|  | ## Administration
 | ||
|  | 
 | ||
|  | The list of users who can trigger a merge by adding the label is stored in our appengine app datastore. | ||
|  | Edit the contents of the [CoreTeamMember Table]( | ||
|  | https://console.developers.google.com/project/angular2-automation/datastore/query?queryType=KindQuery&namespace=&kind=CoreTeamMember) |