|
| 1 | +# Releasing |
| 2 | + |
| 3 | +This document describes how to release a new version `X.Y.Z` for maintainers. |
| 4 | +It would be required to replace `X.Y.Z` with the actual release version. |
| 5 | + |
| 6 | +## 1. Create a new branch |
| 7 | + |
| 8 | +Create a new branch `release/vX.Y.Z` from `master` branch like the following: |
| 9 | +```shell |
| 10 | +git checkout master |
| 11 | +git pull origin |
| 12 | +git checkout -b release/vX.Y.Z |
| 13 | +``` |
| 14 | + |
| 15 | +## 2. Update `CHANGELOG.md` |
| 16 | + |
| 17 | +1. Add a section of the new release version `vX.Y.Z` |
| 18 | + We recommend you add one of the following links to this section. |
| 19 | + * `https://github.com/lerna-stack/akka-entity-replication/compare/vA.B.C...vX.Y.Z` if this release is a successor. |
| 20 | + * `A.B.C` is the previous latest version. |
| 21 | + * `https://github.com/lerna-stack/akka-entity-replication/tree/vX.Y.Z` if this release is the first one. |
| 22 | +2. Update the unreleased version link to `https://github.com/lerna-stack/akka-entity-replication/compare/vX.Y.Z...master` |
| 23 | + |
| 24 | +## 3. Commit & Push |
| 25 | + |
| 26 | +Commit changes, and then push the branch like the following: |
| 27 | +```shell |
| 28 | +git commit --message 'release vX.Y.Z' |
| 29 | +git push origin |
| 30 | +``` |
| 31 | + |
| 32 | +## 4. Create a Pull Request |
| 33 | + |
| 34 | +After committing and pushing all changes, create a pull request. |
| 35 | +Other maintainers will review and merge the pull request. |
| 36 | + |
| 37 | +## 5. Push a new version tag `vX.Y.Z` |
| 38 | + |
| 39 | +*It is highly recommended ensuring that the new version tag is correct.* |
| 40 | +*The CI will automatically publish this release when detecting the version tag.* |
| 41 | + |
| 42 | +Create and push the new version tag `vX.Y.Z` like the following: |
| 43 | +```shell |
| 44 | +git checkout master |
| 45 | +git tag vX.Y.Z |
| 46 | +git push origin vX.Y.Z |
| 47 | +``` |
| 48 | + |
| 49 | +## 6. Check the release is available |
| 50 | + |
| 51 | +Check the release is available at [Maven Central Repository](https://repo1.maven.org/maven2/com/lerna-stack/). |
| 52 | + |
| 53 | +**NOTE** |
| 54 | +- The release will be available about 10 minutes after publishing. |
| 55 | +- It requires more time to be able to find the release with searching (about 2 hours max). |
| 56 | + |
| 57 | +## 7. Create a new release `vX.Y.Z` |
| 58 | + |
| 59 | +Create a new release `vX.Y.Z` from [this link](https://github.com/lerna-stack/akka-entity-replication/releases/new). |
| 60 | + |
| 61 | +- **Choose a tag**: select the new version tag |
| 62 | +- **Release title**: the same as the tag |
| 63 | +- **Describe this release**: |
| 64 | + Write the following text, at least. |
| 65 | + Replace the part `#vXYZ---YYYY-MM-DD` of the link with the actual release version and date. |
| 66 | + ```markdown |
| 67 | + See [CHANGELOG] for details. |
| 68 | + |
| 69 | + [CHANGELOG]: https://github.com/lerna-stack/akka-entity-replication/blob/master/CHANGELOG.md#vXYZ---YYYY-MM-DD |
| 70 | + ``` |
0 commit comments