As you may have seen, we’ve currently paused the Chromium release schedule as we work to transition much of our testing and development to happen remotely. Our top objective is to keep trunk/master in a stable, reliable state.
This means in practice we will not be promoting new milestones to stable during this period and that the scheduled release of M81 will stay on hold pending our decision to resume releases.
For our upcoming releases, we’re currently evaluating what we will do for M82 which branched last week. We plan to release another Dev channel release of M82 this week to gather more stability data. For M83, we’ll continue shipping Canaries as planned, and pending the decision for M82, will begin shipping Dev channels again in the near future.
We’re hoping to provide an update in the next week around our future plans for resumption of releases.
What you can do to help
While our release schedule is paused, it’s critical that we keep the trunk/master in a stable, healthy state. This is where you can help:
Add the test coverage you’ve always wanted to, but haven’t had the time. Deflake your existing disabled tests would be great too! This helps avoid regressing the trunk, reduces our reliance on manual testing, and derisks our return to schedule.
Think some documentation is lacking? Please help work on improving it! Now is a great time to write that design doc or process doc you’ve been dreaming of.
In general, please avoid code changes that make merges hard (e.g. large refactors) or require a lot of branch bake time. The more of these we accrue, the harder it will be to get a stable branch and builds.
As much as possible, all behavioral changes should be behind (off-by-default) flags. That allows you to land new code, while delaying activating it until we're ready to resume releases.
Please use the Canary channel and file/investigate bugs. This is more helpful than ever to ensure trunk/master is healthy and releasable!
We know this may not answer all your questions, especially with regards to work that fundamentally causes a lot of churn. We haven't forgotten about these topics, but for the next few weeks we'd like people to focus on the work above where possible, and be extra cautious about changes that may be destabilizing. Thank you for your patience and understanding in these extraordinary times.
Jason, on behalf of Chromium Operations
The main objectives are:
1) Keep the trunk stable and reliable, so that once we restart releases we don’t end up with many bugs that delay trunk going to stable.
2) Ensure that we can merge fixes to M80 or M81 when needed.
If we had perfect test coverage 1) wouldn’t need to be stated. However we know that subtle bugs can creep in small or large changes. Ways to decrease the risk include:
Changing code behind a feature or command line flag.
If there’s cleanup work that you see as part of a change but isn’t required, file a bug and fix it when we’re out of this phase.
As always, all code needs automated test coverage. If you’re editing code (whether behind a flag or not) that didn’t have automated tests, now more than ever it’s important to add tests to ensure your CL doesn’t introduce any unintended behavioral change. Take advantage of the code coverage bots to verify this is the case.
For 2) the main concern is that refactoring changes make merges of fixes to the release branch hard or could break things in subtle ways that are hard to catch with tests. Ways to decrease the risk include:
Avoid refactoring changes that aren’t necessary for your team to execute in the near term. This includes things like refactorings for code health rotation, IPC conversions etc…
Consider if the code being refactored has been modified recently. Code with fewer recent modifications is unlikely to have recently added bugs that would require fixing and merging therefore changes in these areas are less likely to disturb critical merges.
Make your refactoring change behavior-free so that it’s easy for reviewers to confirm this. If there’s behavior changes needed, do them in a follow up which would be small and easy to review (see c) above).
Note that the above guidance does not mean you should stop working on feature work provided that the code you're introducing meets the guidelines above. Having said that, different teams may be assessing priorities and choosing to use this time to double down to test automation or other areas. Please check with your TL or manager.
We understand that these guidelines will affect some of your work; we are working towards loosening these requirements as we better understand the constraints we have in resuming releases. Expect further guidance around releases and our plans there in the near future.
If you have any feedback or questions, email us at chrome-e...@google.com. These guidelines are also in this doc if you want to share it or in case we provide more updates. If there are any major guidance changes we'll update this thread, but for minor clarifications the doc will be updated silently.
John, on behalf of chome-eng-review
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAAmRR%2Bwxh%3D2Vp%2BVVBn1CaDM4FXrBJPPstaJXsk6H1AGUKf29HA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CALhVsw0A9FgHUWM2kXD7QNoGonDx%2B3BDRJQ9SWn6JE-N4ykF2g%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGE5NEq49Vv%3DnW2tPm%3D9jbbNtFe7zpNZPZaE%3DP6-3bjXsAucw%40mail.gmail.com.
This is an update on our earlier decision to pause our branch and release schedule. As we adapt our future milestone schedules to the current change in schedule, we have decided to skip the M82 release to ensure we keep users safe and focus all efforts on maintaining stability.
Here are some of the immediate actions based on the above decision:
We will abandon current M82 branches, remove infra support, and stop testing/merges to the branches
We will not push any new M82 releases to Dev, and we will stop stabilization for Beta
We will move Dev channel to M83 asap
We will keep Beta channel on M81 until M83 is ready to be promoted
Once M81 is cleared to release to Stable, we expect to adjust our future milestone schedules, including possibility shifting M83 forward to target an earlier branch and Stable date.
With the above changes, we will continue to focus on keeping the trunk/master healthy. Please continue supporting and helping on tasks associated with that goal. There are no changes to the existing requests to land safe changes, and avoid risk.
We expect to provide another update next week around our anticipated next steps and timing around releasing M81, and branching for M83. Thanks again for your patience and support.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAMGbLiGvLvbMsZirwpp0HKz%2BHB18tZaPX7rp_s6ru7humkFDMQ%40mail.gmail.com.