project: document modern branch and tag practices
Signed-off-by: Bjorn Neergaard <bjorn.neergaard@docker.com>
This commit is contained in:
parent
ed1a61dcb7
commit
f502f49e49
1 changed files with 22 additions and 15 deletions
|
@ -1,32 +1,39 @@
|
|||
Branches and tags
|
||||
=================
|
||||
|
||||
Note: details of the release process for the Engine are documented in the
|
||||
[PATCH-RELEASES.md](https://github.com/moby/moby/blob/master/project/PATCH-RELEASES.md).
|
||||
> Note: details of the release process of the project are documented in [PATCH-RELEASES.md](PATCH-RELEASES.md).
|
||||
|
||||
# Branches
|
||||
|
||||
The docker/docker repository should normally have only three living branches at all time, including
|
||||
the regular `master` branch:
|
||||
`master` serves as the development branch for future releases of the project.
|
||||
All changes should be made to the `master` branch, and changes to release branches should only be made in the form of cherry-picked commits, if possible.
|
||||
The sponsoring maintainers of a release branch serve as the primary point of contact, and are available to provide guidance on contributing changes to their respective branches.
|
||||
|
||||
## `docs` branch
|
||||
Keep in mind that release branches only accept bug and security fixes; new features will generally not be considered for backport to release branches.
|
||||
|
||||
The `docs` branch supports documentation updates between product releases. This branch allow us to
|
||||
decouple documentation releases from product releases.
|
||||
Currently (and previously) maintained release branches are documented in the table below:
|
||||
|
||||
## `release` branch
|
||||
| Branch Name | Sponsoring Maintainer(s) | Contribution Status | Expected End of Maintenance | Known Distributors |
|
||||
|------------------------------------------------|------------------------------------------------|-----------------------|------------------------------|----------------------------------------------------------------------|
|
||||
| master (development branch) | The Moby Project [MAINTAINERS](../MAINTAINERS) | N/A | - | N/A |
|
||||
| 24.0 | @thaJeztah, @rumpl, @neersighted | Maintained | TBD | [Docker, Inc.](https://docker.com) |
|
||||
| 23.0 | @corhere, @cpuguy83 | Maintained | TBD | [Mirantis](https://mirantis.com), [Microsoft](https://microsoft.com) |
|
||||
| 20.10 | @corhere, @cpuguy83 | Maintained (security) | December 2023 | [Mirantis](https://mirantis.com), [Microsoft](https://microsoft.com) |
|
||||
|
||||
The `release` branch contains the last _released_ version of the code for the project.
|
||||
> Note: The Moby Project provides source code releases. Binary distributions are available from multiple contributing parties, and known distributions can be discovered in [PACKAGERS.md](PACKAGERS.md).
|
||||
|
||||
The `release` branch is only updated at each public release of the project. The mechanism for this
|
||||
is that the release is materialized by a pull request against the `release` branch which lives for
|
||||
the duration of the code freeze period. When this pull request is merged, the `release` branch gets
|
||||
updated, and its new state is tagged accordingly.
|
||||
## Contribution Status
|
||||
|
||||
The contribution status of a branch is meant to set contributor expectations for acceptance of changes into a branch, as well as document what level of contribution or maintenance the sponsoring maintainers expect to perform. This status is informational and not binding.
|
||||
|
||||
- **Maintained** - actively developed by project maintainers; accepting contributions and backports; in-scope for security advisories
|
||||
- **Maintained (security)** - no longer actively developed; may accept contributions and backports for critical security issues; in-scope for security advisories
|
||||
- **Unmaintained** - no longer actively developed; not accepting contributions; out-of-scope for security advisories
|
||||
|
||||
# Tags
|
||||
|
||||
Any public release of a compiled binary, with the logical exception of nightly builds, should have
|
||||
a corresponding tag in the repository.
|
||||
All releases of The Moby Project should have a corresponding tag in the repository.
|
||||
The project generally attempts to adhere to [Semantic Versioning](https://semver.org) whenever possible.
|
||||
|
||||
The general format of a tag is `vX.Y.Z[-suffix[N]]`:
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue