[Release] Add FAQ explaining release terms (#102618)

[Release] Add FAQ explaining release terms
This is AI from release 2.0.0 retrospective
Fixes: https://github.com/pytorch/pytorch/issues/98009

Co-authored-by: Nikita Shulga <nshulga@meta.com>
Co-authored-by: Eli Uriegas <eliuriegas@meta.com>

Pull Request resolved: https://github.com/pytorch/pytorch/pull/102618
Approved by: https://github.com/malfet
This commit is contained in:
Andrey Talman
2023-06-05 20:26:52 +00:00
committed by PyTorch MergeBot
parent 1c2dfdf30c
commit 1943bd0d7e

View File

@ -4,6 +4,7 @@
- [Release Compatibility Matrix](#release-compatibility-matrix) - [Release Compatibility Matrix](#release-compatibility-matrix)
- [General Overview](#general-overview) - [General Overview](#general-overview)
- [Frequently Asked Questions](#frequently-asked-questions)
- [Cutting a release branch preparations](#cutting-a-release-branch-preparations) - [Cutting a release branch preparations](#cutting-a-release-branch-preparations)
- [Cutting release branches](#cutting-release-branches) - [Cutting release branches](#cutting-release-branches)
- [`pytorch/pytorch`](#pytorchpytorch) - [`pytorch/pytorch`](#pytorchpytorch)
@ -55,6 +56,14 @@ Releasing a new version of PyTorch generally entails 3 major steps:
2. Drafting RCs (Release Candidates), and merging cherry picks 2. Drafting RCs (Release Candidates), and merging cherry picks
3. Promoting RCs to stable and performing release day tasks 3. Promoting RCs to stable and performing release day tasks
### Frequently Asked Questions
* Q: What is release branch cut ?
* A: When bulk of the tracked features merged into the main branch, the primary release engineer starts the release process of cutting the release branch by creating a new git branch based off of the current `main` development branch of PyTorch. This allows PyTorch development flow on `main` to continue uninterrupted, while the release engineering team focuses on stabilizing the release branch in order to release a series of release candidates (RC). The activities in the release branch include both regression and performance testing as well as polishing new features and fixing release-specific bugs. In general, new features *are not* added to the release branch after it was created.
* Q: What is cherry-pick ?
* A: A cherry pick is a process of propagating commits from the main into the release branch, utilizing git's built in [cherry-pick feature](https://git-scm.com/docs/git-cherry-pick). These commits are typically limited to small fixes or documentation updates to ensure that the release engineering team has sufficient time to complete a thorough round of testing on the release branch. To nominate a fix for cherry-picking, a separate pull request must be created against the respective release branch and then mentioned in the Release Tracker issue (example: https://github.com/pytorch/pytorch/issues/94937) following the template from the issue description. The comment nominating a particular cherry-pick for inclusion in the release should include the committed PR against main branch, the newly created cherry-pick PR, as well as the acceptance criteria for why the cherry-pick is needed in the first place.
## Cutting a release branch preparations ## Cutting a release branch preparations
Following Requirements needs to be met prior to final RC Cut: Following Requirements needs to be met prior to final RC Cut: