Dimitri Glazkov | 2070775d | 2017-10-24 17:47:02 | [diff] [blame] | 1 | # Guidelines for Considering Branch Date in Project Planning |
| 2 | |
| 3 | * Avoid changes to persisted data (e.g. data serialization, database schemas, |
| 4 | etc) just before branch due to the risk of reverts. If you modify data that |
| 5 | will be synced, this change should be forward compatible for up to four |
| 6 | milestones (as stable and canary are at times four milestones apart and it's |
Solomon Kinard | 76c5774 | 2020-08-26 23:48:26 | [diff] [blame] | 7 | reasonable to assume that somebody runs stable on chromeos and canary on |
| 8 | mac, both syncing to the same account). |
Dimitri Glazkov | 2070775d | 2017-10-24 17:47:02 | [diff] [blame] | 9 | * Two weeks prior to the branch point, avoid committing big and risky changes |
| 10 | or enabling non-trivial features. |
| 11 | * Pay more attention to complexity and structure of CLs around branch points, |
| 12 | in case fixes need to be merged back after branch is created. Break up a CL |
| 13 | into smaller pieces to facilitate potential merges. |
| 14 | * As the branch point gets closer, consider if there is data to gather (like |
| 15 | adding use counters, or other histograms that we want) and prioritize that |
| 16 | work. Metrics changes on branch don't meet the bar. |
| 17 | * Prioritize stability and "bake time", as well as other ways to reduce the |
| 18 | release risk in your timeline discussions. |
| 19 | * Consider API adoption timelines: code may not be exercised until developers |
| 20 | adopt API, so feature freeze and branch could have minimal impact on |
| 21 | stability. |
| 22 | |