angular/docs/CARETAKER.md
Jessica Janiuk 755390ace3 docs: add process documentation to CARETAKER.md (#54664)
This adds documentation regarding the latest changes to framework merge tools. It specifically covers the requires: TGP label and separate sync for primitives.

PR Close #54664
2024-03-05 19:11:41 +01:00

2.1 KiB

Caretaker

Caretaker is responsible for merging PRs into the individual branches and internally at Google.

Responsibilities

  • Draining the queue of PRs ready to be merged. (PRs with action: merge label)
  • Assigning new issues to individual component authors.

Merging the PR

A PR needs to have action: merge and target: * labels to be considered ready to merge. Merging is performed by running ng-dev pr merge with a PR number to merge.

The tooling automatically verifies the given PR is ready for merge. If the PR passes the tests, the tool will automatically merge it based on the applied target label.

To merge a PR run:

$ yarn ng-dev pr merge <pr number>

Primitives and Blocked merges

The caretaker may encounter PRs that will fail to merge due to primitives files. Code inside some paths must be merged and synced separately. For example, anything under //packages/core/primitives has to be merged and synced separately from other changes. Once the latest sync has fully landed, merging can continue. This is to reduce the risk of challenging rollbacks in the event of a breakage.

PRs that require TGPs

If a PR is risky or otherwise requires more thorough testing, add the requires: TGP label to the PR. The merge tooling will enforce that a TGP has been run, or alternatively you can add a review comment that starts with TESTED= and then put a reason why the PR is sufficiently tested. This will allow the PR to be merged. The requires: TGP label will be automatically added to PRs that affect files matching separateFilePatterns in .ng-dev/google-sync-config.json.

For example:

TESTED=docs only update and does not need a TGP

Note: the review comment must be made by a googler.

Recovering from failed merge-pr due to conflicts

The ng-dev pr merge tool will automatically restore to the previous git state when a merge fails.