# Release Management
Occasionally, the OpenVMM project will declare upcoming release milestones. We
stabilize the code base in a `release/YYMM` branch, typically named for the
YYMM when the branch was forked. We expect a high quality bar for all code that
goes in to the OpenVMM main branch, we ask developers to hold these
`release/YYMM` to the highest quality standards. The OpenVMM maintainers will
gradually slow the rate of churn into these branches as we get closer to a
close date.
This process should not impact your typical workflow; all new work should go
into the `main` branch. But, to ease the cherry-picks, we may ask that you hold
off from making breaking or large refactoring changes at points in this
process.
## Marking, Approval Process, Code Flow
The OpenVMM maintainers will publish various dates for the upcoming releases.
Currently, these dates are driven by a Microsoft-internal process and can, and
do, often change. Microsoft does not mean to convey any new product launches by
choices of these dates.
Releases naturally fall into several phases:
| Phase | Meaning |
|-------------------|-------------------------------------------------------------------------|
| Active Development| Regular development phase where new features and fixes are added. |
| Stabilization | Phase focused on stabilizing the release by fixing bugs. |
| Ask Mode | Changes are scrutinized and only critical fixes are allowed. No new features are accepted. This is the last phase before a release is closed. |
| Servicing | Only essential fixes are made to support the release. a.k.a. maintenance mode |
### Release branch process
We track the state of candidates for a given release by tagging the PRs with the following labels:
* `backport_YYMM`: This PR (to `main`) is a candidate to be included in the
`YYMM` release.
* N.B.: A maintainer will _remove_ this tag if the fix is not accepted into
the release.
* `backported_YYMM`: This PR (to `main`) has been cherry-picked to the `YYMM`
release.
* `backport_YYMM_approved`: This PR (to `main`) has been reviewed by the OpenVMM
maintainers, who believe this meets the bar. This is a temporary tag until the
PR is cherry-picked (e.g. a TODO).
#### Seeking Approval for Backport
To seek approval to include a change in a release branch, follow these steps:
* Tag your PR to `main` PR with the `backport_YYMM` label.
* Cherry-pick the change to the appropriate `release/YYMM` branch in your fork
and stage a PR to that same branch in the main repository.
Please reach out to the maintainers before staging that PR if you have any
doubts.
## Existing Release Branches
| Release | Phase | Notes |
|--------|-------|-------|
| release/2411 | Servicing | |
| release/2505 | Ask Mode | |
## Depending on Releases
We welcome feedback, especially if you would like to depend on a reliable
release process. Please reach out!microsoft/openvmm
Publicmirrored fromhttps://github.com/microsoft/openvmmAvailable
Guide/src/dev_guide/contrib/release.md
65lines · modepreview