2019-05-03 10:53:43 +00:00
|
|
|
# Ceph CSI driver Release Process
|
|
|
|
|
2021-03-29 12:47:26 +00:00
|
|
|
- [Ceph CSI driver Release Process](#ceph-csi-driver-release-process)
|
2019-05-03 10:53:43 +00:00
|
|
|
- [Introduction](#introduction)
|
|
|
|
- [Versioning](#versioning)
|
|
|
|
- [Tagging repositories](#tagging-repositories)
|
2021-06-08 05:53:35 +00:00
|
|
|
- [Release process [TBD]](#release-process-tbd)
|
2019-05-03 10:53:43 +00:00
|
|
|
|
|
|
|
## Introduction
|
|
|
|
|
2019-05-07 15:14:07 +00:00
|
|
|
This document provides details about Ceph CSI driver release process.
|
2019-05-03 10:53:43 +00:00
|
|
|
|
|
|
|
## Versioning
|
|
|
|
|
|
|
|
The Ceph CSI driver project uses
|
|
|
|
[semantic versioning](http://semver.org/)
|
|
|
|
for all releases.
|
|
|
|
Semantic versions are comprised of three
|
|
|
|
fields in the form:
|
|
|
|
|
|
|
|
```MAJOR.MINOR.PATCH```
|
|
|
|
|
|
|
|
For examples: `1.0.0`, `1.0.0-rc.2`.
|
|
|
|
|
|
|
|
Semantic versioning is used since the version
|
|
|
|
number is able to convey clear information about
|
|
|
|
how a new version relates to the previous version.
|
|
|
|
For example, semantic versioning can also provide
|
|
|
|
assurances to allow users to know when they must
|
|
|
|
upgrade compared with when they might want to upgrade:
|
|
|
|
|
|
|
|
- When `PATCH` increases, the new release contains important **security fixes**,
|
|
|
|
general bug fixes and an upgrade is recommended.
|
|
|
|
|
|
|
|
The patch field can contain extra details after the number.
|
|
|
|
Dashes denote pre-release versions.`1.0.0-rc.2` in the example
|
|
|
|
denotes the second release candidate for release `1.0.0`.
|
|
|
|
|
|
|
|
- When `MINOR` increases, the new release adds **new features**
|
|
|
|
and it must be backward compatible.
|
|
|
|
|
|
|
|
- When `MAJOR` increases, the new release adds **new features,
|
|
|
|
bug fixes, or both** and which *changes the behavior from
|
2022-04-07 11:34:25 +00:00
|
|
|
the previous release* (maybe backward incompatible).
|
2019-05-03 10:53:43 +00:00
|
|
|
|
|
|
|
## Tagging repositories
|
|
|
|
|
|
|
|
The tag name must begin with "v" followed by the version number, conforming to
|
|
|
|
the [versioning](#versioning) requirements (e.g. a tag of `v1.0.0-rc2` for
|
2021-06-08 05:53:35 +00:00
|
|
|
version `1.0.0-rc2`). This tag format is used by the GitHub action
|
|
|
|
infrastructure to properly upload and tag releases to Quay.
|
2019-05-03 10:53:43 +00:00
|
|
|
|
2019-05-07 15:14:07 +00:00
|
|
|
## Release process [TBD]
|
2019-05-03 10:53:43 +00:00
|
|
|
|
|
|
|
The Release Owner must follow the following process, which is
|
|
|
|
designed to ensure clarity, quality, stability, and auditability
|
|
|
|
of each release:
|
|
|
|
|
2020-04-17 08:40:09 +00:00
|
|
|
- [Create a new milestone](https://github.com/ceph/ceph-csi/milestones/new) to
|
|
|
|
track the progress of the release. Set the scheduled date for the release, or
|
|
|
|
update it later when a date is selected.
|
2019-05-03 10:53:43 +00:00
|
|
|
|
2020-04-17 08:40:09 +00:00
|
|
|
- [Raise new issue in this
|
|
|
|
repository](https://github.com/ceph/ceph-csi/issues/new) to track the
|
|
|
|
progress of the release with maximum visibility. Link the issue with the
|
|
|
|
milestone for the release.
|
2019-05-03 10:53:43 +00:00
|
|
|
|
|
|
|
- Paste the release checklist into the issue.
|
|
|
|
|
2020-04-17 08:40:09 +00:00
|
|
|
This is useful for tracking so that the stage of the release is visible to
|
|
|
|
all interested parties. This checklist could be a list of issues/PRs tracked
|
|
|
|
for a release. The issues/PRs will be marked with the milestone for the
|
|
|
|
release. For example, a milestone called `release-2.1.0` (for release version
|
|
|
|
2.1.0) can be linked to issues and PRs for better tracking release items.
|
2019-05-03 10:53:43 +00:00
|
|
|
|
2020-04-17 08:40:09 +00:00
|
|
|
- Once all steps are complete, close the issue and the milestone.
|