Skip to content

Build a new release

Wojciech Nagórski edited this page Nov 16, 2023 · 19 revisions

Prerequisites

Ensure the following software is installed:

Prepare master branch

For SSH.NET we're always building our releases from the master branch, hence the following steps need to be taken to prepare this branch:

  1. Ensure any commits, that are part of the scope of the release, are merged from the develop branch to the master branch.
  2. Switch to the master branch.
  3. Make sure you have no local changes.
  4. Pull any changes from remote.
  5. Update the following custom attributes in src/Renci.SshNet/Properties/CommonAssemblyInfo.cs:
    • AssemblyCopyright
    • AssemblyVersion
    • AssemblyFileVersion
    • AssemblyInformationalVersion
  6. Commit and push changes to master branch.

Build modern TFM support

  1. Switch to master branch on your host machine.
  2. Make sure you have no local changes.
  3. Pull any changes from remote.
  4. Start a Developer Command Prompt for VS2019.
  5. Navigate to the Build folder of the SSH.NET checkout directory.
  6. Execute the following command:

msbuild /p:ReleaseVersion=<version> /t:CleanModern /t:PreparePackageModern

Package

Execute the following steps on your host machine:

  1. Start a Developer Command Prompt for VS2019.

  2. Navigate to the Build folder of the SSH.NET checkout directory.

  3. Set the SHFBROOT environment variable to the Sandcastle Help File Builder installation directory.

    For example:

set SHFBROOT=C:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder
  1. Execute the following command:

msbuild /p:ReleaseVersion=<version> /t:Package

  1. Create a tag named after the version you're releasing.

For example:

git tag -a "2020.0.0-beta1" -m "Release 2020.0.0 beta 1"
  1. Push your changes (including tags).

For example:

git push origin "2020.0.0-beta1"
  1. Update the release on GitHub with:
  • The newly created tag on master.
  • The binary distribution package.
  • The compiled HTML Help file
  1. Publish the GitHub release.
  2. Publish the NuGet package.