-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Cherry picks to a release channel
With the Dart and Flutter joint release process, we're using a combined Dart & Flutter Cherrypick Review and Approval Process. This document is a supplement to the main process and describes the process and flow within the Dart team.
Note: This process applies to bugs and regressions. Feature work is not considered for cherrypicking and will need to wait for the next release.
- A issue is opened, triaged by subteams, ...
- Issue fixed and verified in master
- Engineer checks the CL merges cleanly to the destination branch
- Engineer ensures that all tests are passing
- Engineer or TL open a new issue (please use the merge request template)
- TPM brings the issue to the next scrum meeting for approval
The new issue should contain the following information:
- Brief description of the problem
- The reason for cherry pick, user impact, and a brief risk assessment (low/medium/high)
- The
cherry-pick-review
label
If approved, the scrum team will apply the proper label(s) - cherry-pick-approved
, and one or both of merge-to-beta
and merge-to-stable
.
Then:
- Dart EngProd team members will perform the merge and ensure it landed.
- Dart EngProd team members will open issues to notify Flutter team to cherrypick the changes (Sample: https://github.com/flutter/flutter/issues/55575)
Resolve the issue and land it as a CL against the master branch. Validate that the issue was resolved in master.
Check that your CL merges cleanly to the stable branch (for beta, replace stable with beta):
$ git fetch
$ git new-branch --upstream origin/stable cherry
$ git cherry-pick #HASH_FROM_MASTER_THAT_NEEDS_CHERRY_PICKING
Then, build and run the tests, and ensure that all tests are passing.
If it does not merge cleanly please supply a patch by fixing merge conflicts locally and uploading a changelist (CL) by doing git cl upload
, and link to the review in the merge request. The CL needs to be reviewed (Code-Review: +1
) like any other CL but will be landed by a release engineer. Do not land it yourself!
Please use this merge to beta/stable request template template.
Important
The wiki has moved to https://github.com/dart-lang/sdk/tree/main/docs; please don't edit the pages here.