Skip to content

Commit

Permalink
Merge pull request #503 from artursouza/update_release_info
Browse files Browse the repository at this point in the history
Versioning, tagging and branching
  • Loading branch information
msfussell authored Jun 17, 2024
2 parents 27760c2 + a13b1d1 commit 5251655
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,21 @@ The Dapr project aims to release four updates in a yearly time period, typically
<img src="images/release-cycle-diagram.png?raw=true">


This cadence provides a balance between regular feature releases and bug fixes, giving end users time to adopt a release and providing contributors clarity on releases they can contribute towards. By having a regular “train” of releases end users and contributors can plan ahead.
This cadence provides a balance between regular feature releases and bug fixes, giving end users time to adopt a release and providing contributors clarity on releases they can contribute towards. By having a regular “train” of releases end users and contributors can plan ahead.

Although this is the desired candence, imbalance between scope and availability of contributors and maintainers might impact the number of releases in a given year. Maintainers might decide to reduce the number of releases in order to have more time to finish high priority improvements.

## Versioning, tagging and branching

All release artifacts must follow [Semantic Versioning](https://semver.org). Each release milestone increments the minor version. In exceptional cases, the major version can be increased too.

See our documentation on [versioning policy](https://docs.dapr.io/operations/support/support-versioning).

At code freeze of a release milestone, the master (or main) branch is forked into a branch named `release-<MAJOR>.<MINOR>`, which lives forever. To trigger a release candidate or a release, tagging should happen in the correspondig release branch. For example, to release version `1.2.3`, the tag `v1.2.3` must be cut out of the `release-1.2` branch.

Hotfixes should also be applied directly into each of the impacted release branches. Then, the fix can be merged back into master (or main) branch or cherry-picked.

Ideally, a release should be 100% automated and require only the tag to be pushed upstream.

## Release milestone
The Dapr project is under continuous development addressing issues for both bugs on existing features and new features. Features go through a lifecycle from proposal, design, code, test, docs, and often quickstart and SDKs deliverables. Feature proposals can be raised and reviewed by the community and maintainers at any time.
Expand Down Expand Up @@ -38,7 +52,7 @@ On assignment, the release team lead and shadow(s) are included into the Github
- [ ] Communicating status to the community on an on-going basis.


Read about the K8s release team selection [here](https://github.com/kubernetes/sig-release/blob/master/release-team/release-team-selection.md#selection-criteria).
As a reference, find the K8s release team selection [here](https://github.com/kubernetes/sig-release/blob/master/release-team/release-team-selection.md#selection-criteria)

## Feature definition phase (~2 weeks)
With ongoing feature definition, some set of issues will bubble up as targeting a given release. In this phase, a set of feature proposals and significant design changes to existing features are reviewed where contributors are able to dedicate time to completing the issue or starting an issue for a future release.
Expand Down

0 comments on commit 5251655

Please sign in to comment.