-
Notifications
You must be signed in to change notification settings - Fork 25
ReleaseProcess
Stephen Swensen edited this page May 17, 2021
·
24 revisions
Release is performed with a machine that supports make
(namely Linux) and has at least version 5.0.202 of dotnet
installed
- All Issues that will be included in a release should be assigned to milestone
- Usually each Issue should be associated with exactly one PR
- But sometimes multiple Issues may be associated with the same PR
- PRs should be merged and closed along with associated Issues as work is completed (coding done, all tests pass).
- For smaller releases (e.g. minor and patch versions), merges can be done directly to master
- For bigger releases (e.g. major versions), merges may be done to an integration branch / PR
- Releases should be done from the master branch after all milestone PRs are merged
Before merging any PRs or pushing any releases from master, make sure to run tests and spot check "verification" output for supported test frameworks
-
make test
- all tests should pass -
make verify
- output looks good for different test frameworks
For bigger (e.g. major version) releases, it may be useful to publish pre-release versions to NuGet. The following steps may be done from master or potentially an integration PR branch for major releases.
- update
src/Unquote/Unquote.nuspec
version following SemVer2.0 pattern like<major>.<minor>.<patch>-rc.<release candidate number>
- execute
make push
These release steps are performed the master branch that is ready for release
- update
src/Unquote/Unquote.nuspec
version andsrc/Unquote/Unquote.fsproj
Version property to final release version and commit - Tag the release using
git tag <version number>
followed bygit push && git push --tags
- build, pack, and push the release to NuGet.org using
make push
- Update the ReleaseNotes
- Create a new heading and summary description of the release
- Link to to the list of issue in the release (e.g. using an issue filter like
is:issue milestone:3.1.0 is:closed
).
- Manually close the milestone via the Milestones page