angular-cn/COMMITTER.md

1.9 KiB

Pushing changes into the Angular tree

Please see Using git with Angular repositories 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 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 has pr_state: LGTM and is ready to merge, you should add the pr_action: merge label. Currently (late 2015), we need to ensure that each PR will cleanly merge into the Google-internal version control, so the caretaker reviews the changes manually.

After this review, the caretaker adds zomg_admin: do_merge which is restricted to admins only. A robot running as 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 zomg_admin: do_merge label is stored in our appengine app datastore. Edit the contents of the CoreTeamMember Table