Skip to content

Commit

Permalink
Update the release documentation to reflect the versioning semantics
Browse files Browse the repository at this point in the history
  • Loading branch information
tillrohrmann committed Aug 21, 2023
1 parent e1a04a2 commit 9f27531
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 34 deletions.
66 changes: 33 additions & 33 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 14 additions & 1 deletion docs/dev/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ In order to create a full Restate release you need to:

## Releasing the Restate runtime

In order to release the Restate runtime, you first have to set the version field in the [Cargo.toml](/Cargo.toml) to the new release version `X.Y.Z`.
In order to release the Restate runtime, you first have to make sure that the version field in the [Cargo.toml](/Cargo.toml) is set to the new release version `X.Y.Z`.
Then you have to create a tag of the form `vX.Y.Z` and push it to the repository.
The tag will trigger the [release.yml](/.github/workflows/release.yml) workflow which does the following:

Expand All @@ -26,6 +26,8 @@ The tag will trigger the [release.yml](/.github/workflows/release.yml) workflow

In order to finish the release, you have to publish it [here](https://github.com/restatedev/restate/releases).

Please also bump the version in the [Cargo.toml](/Cargo.toml) to the next patch version after the release.

After having created a new runtime release, you need to:

1. [Update and release the documentation](https://github.com/restatedev/documentation#upgrading-restate-runtime-version)
Expand All @@ -34,3 +36,14 @@ After having created a new runtime release, you need to:
* [Ticket reservation example](https://github.com/restatedev/example-ticket-reservation-system#upgrading-restate-runtime)
* [Food ordering example](https://github.com/restatedev/example-food-ordering#upgrading-the-restate-runtime)
* [Shopping cart example](https://github.com/restatedev/example-shopping-cart-typescript#upgrading-restate-runtime)

## Versioning of the Restate runtime

The runtime follows the [SemVer specification](https://semver.org/#semantic-versioning-200) for its versioning.
In short, increment the:

* MAJOR version if you introduce breaking changes
* MINOR version if you add functionality in a backward compatible manner
* PATCH version if you add backward compatible bug fixes

During the initial development phase where the major version is zero (0.x.y) the minor version field is incremented for breaking changes.

0 comments on commit 9f27531

Please sign in to comment.