Packaging the Installer
Before packaging the installer, you must first package and release the Console and Engine. See Packaging the Console and Engine
Prepare the Release
- Get latest from master
- Update CHANGES.TXT. Set the date of the release, and list any packages which have been upgraded since the last release.
- Check the
version
anddisplayVersion
inbuild.cake
. They should have been updated at the last release. - Package the release,
.\build.ps1
or.\build.cmd
- Check the
distribution
directory forNUnit.{VERSION}.msi
andNUnit.{VERSION}.zip
Test the Release
Test the Installer
- Install
NUnit.{VERSION}.msi
- Ensure it installs correctly
- Check that the extensions included in
build.cake
are installed - Run unit tests using the install
- Ensure the extensions work by running NUnit 2 tests and by creating NUnit 2 test results
- Check the version in the
nunit3-console.exe
output headers when running tests.
Test the ZIP File
- Unzip
NUnit.{VERSION}.zip
- Check that the extensions included in
build.cake
are installed - Run unit tests using the install
- Ensure the extensions work by running NUnit 2 tests and by creating NUnit 2 test results
- Check the version in the
nunit3-console.exe
output headers when running tests.
Archiving the Release
Packages are archived on nunit.org in the downloads directory. Add the MSI and ZIP to the existing downloads/nunit/v3 for the Console/Engine release.
Publishing the Release
- Log onto Github and go to the main nunit-console repository at https://github.com/nunit/nunit-console.
- Go to the releases tab and edit the existing Console release
- Add the MSI and ZIP files to the release
- Update the website if required
Tag the Release
- Still on
master
, tag the release with the version,git tag v3.5
- Push the tags to GitHub,
git push --tags
Increment the Version
- Create a release branch
git checkout -b release-3.5
- Increment the
version
anddisplayVersion
inbuild.cake
. - Check-in your changes and push to GitHub
- Create a Pull Request, have it reviewed, merged and delete the branch
- Close the milestone if one exists
Note
The release branch in this project is not like the release branches in other projects, we don't save it. If we need to go back and do hotfixes, we will branch off the tag that was created for the release. We do this because there are usually no changes required to this repository for a release except incrementing the version post release. Any larger changes to this repository should be done and tested prior to a release using the normal Pull Request workflow