-
Notifications
You must be signed in to change notification settings - Fork 930
/
ReleaseProcedure.txt
62 lines (43 loc) · 2.83 KB
/
ReleaseProcedure.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
These are the tasks typically needed to create an official NHibernate release.
* In GitHub, make sure no open issues have milestone set to the release
that is about to happen (as these will show in the milestone).
* From inside nhibernate-core folder, restore local dotnet tools: `dotnet tool restore`
* Create a draft release in Github with GitReleaseManager. For example:
dotnet gitreleasemanager create -o nhibernate -r nhibernate-core -m 5.3 --token yourGitHubTokenWithRepoScope
(Adjust the -m milestone parameter above, and add "-c branchname" if
releasing another branch than master)
* Update releasenotes.txt with the list of issues generated in the GitHub
draft release. Add to the list the release task.
See if any additions to the list of "known breaking changes" are necessary.
* Update the GitHub draft release for matching other release formalism: ensure
its tag matches the released version (three parts: major.minor.release), update
its title, change its description for listing only highlights and breaking
changes, include links to the milestone and the releasenotes of the release
tag, include links to binaries on SourceForge and NuGet.
If the release tag does not match the released version with major.minor.release
formalism, the NuGet package will have an invalid link to release notes.
* Check/update version number in NHibernate.props under build-common folder.
Clear VersionSuffix if present.
* Don't forget to commit the above.
* Check the CI release build.
If no error or other issue requiring further changes occurred, merge
the release PR and wait for the resulting commit CI release build.
* Retrieve the artifacts of the CI release build.
* Upload binary and source zip files to SourceForge. Update the "latest
release".
* Update download link on nhibernate.info. Update the reference documentation
if needed.
* Push nuget packages including the symbol packages.
* In GitHub, mark the milestone as released and publish the release draft,
creating the release tag by the way. (It should match the tag in the
releasenotes link of the release description.)
* Post release announcement to nhusers, nhibernate-development and as
project news on SourceForge.
* If this was a stable branch, merge it forward to master. Perhaps some
changes need to be edited out in the merge, but this will reduce the
risk of some issue being left unfixed on master.
* If this was the master branch, create the stable branch for the new release, named
according to its version with "x" instead of its patch number. By example, "5.3.x".
* If next version is decided set it in NHibernate.props under build-common folder
(in most cases - increment minor version) and set VersionSuffix to "dev".
Commit it directly (without going through a PR).