|
1 | 1 | ## Release process |
2 | 2 |
|
3 | | -With every build, the build process on Travis updates files with an appropriate version number before deployment into the database. |
4 | | -This step is performed, to confirm that the update of versions works properly. |
| 3 | +To create a release follow the below steps |
5 | 4 |
|
6 | | -## To create a release |
7 | | - |
8 | | - - create release branch from development branch and make sure to name the release branch: `release/vX.Y.Z` |
9 | | - - update, commit and push at least one file change in the release branch, to kickoff a Travis build |
10 | | - - wait for th build to complete successfully |
11 | | - - merge the release branch to main and wait for main build to complete successfully (do not use Squash/rebase for merge operation) |
12 | | - - create a Github release from the main branch using [github releases page](https://github.com/utPLSQL/utPLSQL/releases) and populate release description using information found on the issues and pull requests since previous release. |
| 5 | +## Release preparation |
| 6 | + - create a draft of Release from the `main` branch using [github releases page](https://github.com/utPLSQL/utPLSQL/releases) and populate release description using information found on the issues and pull requests **since previous release**. |
13 | 7 | To find issues closed after certain date use [advanced filters](https://help.github.com/articles/searching-issues-and-pull-requests/#search-by-open-or-closed-state). |
14 | 8 | Example: [`is:issue closed:>2018-07-22`](https://github.com/utPLSQL/utPLSQL/issues?utf8=%E2%9C%93&q=is%3Aissue+closed%3A%3E2018-07-22+) |
| 9 | + |
| 10 | +## Performing a release |
| 11 | + - create release branch from development branch and make sure to name the release branch: `release/vX.Y.Z` |
| 12 | + - update, commit and push at least one file change in the release branch, to kick off a build on [GithubActions](https://github.com/utPLSQL/utPLSQL/actions) |
| 13 | + - wait for the build to complete successfully |
| 14 | + - merge the release branch to `main` branch and wait for build on `main` branch to complete successfully (do not use Squash/rebase for merge operation) |
15 | 15 | - After A build was completed on a TAG (github release) was successful, merge main branch back into develop branch. |
16 | 16 | - At this point, main branch and release tag should be at the same commit version and artifacts should be uploaded into Github release. |
17 | 17 | - After develop branch was built, update version number in `VERSION` file to represent next planned release version. |
18 | 18 | - Clone `utplsql.githug.io` project and add a new announcement about next version being released in `_posts`. Use previous announcements as a template. Make sure to set date, time and post title properly. |
19 | 19 |
|
20 | 20 | The following will happen: |
21 | 21 | - build executed on branch `release/vX.Y.Z-[something]` updates files `sonar-project.properties`, `VERSION` with project version derived from the release branch name |
22 | | - - changes to those two files are committed and pushed back to release branch by Travis |
| 22 | + - changes to those two files are committed and pushed back to release branch |
23 | 23 | - builds on main branch are **not getting executed** |
24 | 24 | - when a Github release is created, a new tag is added in on the repository and a tag build is executed |
25 | 25 | - the documentation for new release is published on `utplsql.github.io` and installation archives are added to the tag. |
26 | 26 |
|
27 | | -Note: |
28 | | -The sources for release are provided in separate zip files delivered from the Travis build process. |
| 27 | +# Note: |
| 28 | +The sources for release are provided in separate zip files delivered by the build process. |
29 | 29 | The built zip files include HTML documentation generated from MD files. |
0 commit comments