Skip to content

Build And Release

samatrhea edited this page Apr 27, 2024 · 3 revisions

Development Environment

The Net-Project-Package-Extractor is developed using Visual Studio 2022.

The following tools are used by the Starion Group development team:

Build

The Net-Project-Package-Extractor solution contains two build configurations:

  • debug: used while developing new features
  • release: used to create a build for release

Release

A manual build can be created as well, follow the steps to create pre-release nugets that are not optimized using the Debug configuration or a release nugets using the Release configuration:

  1. Run all unit tests and verify that they pass
  2. Make sure the version numbers of the projects are incremented when things have changed; the project makes use of SEMVER.
  3. Update the in the .csproj files; this will be visible on https://nuget.org
  4. Via the GitHub web-ui draft a new release referencing the tag and set the release title to Version MAJOR.MINOR.PATCH. The description of the release shall mention the updates referencing the GitHub issue numbers.

NOTE: The .csproj files contain settings that indicate that a symbols package is created as well. When using dotnet push to publish the packages on https://nuget.org, the symbols packages will be pushed as well.

pre-release

First clean the solution and then pack. The pack command will build and create the nugets. The --version-suffix parameter is used to add a suffix such as rc01.

dotnet clean -c Debug
dotnet pack --version-suffix "rcxy" -c Debug

In case you want to push the new nugets to https://nuget.org use the following command. You will require an API Key. This needs to be repeated for each nuget that needs to be published.

dotnet push Net-Project-Package-Extractor/nupkg/vcdg.MAJOR.MINOR.PATCH-rcxy.nupkg -Source https://api.nuget.org/v3/index.json -ApiKey "your-api-key"

release

First clean the solution and then pack. The pack command will build and create the nugets. The --include-source parameter is used to add the symbols and the source code to a specific symbols nuget. The symbols nuget will automatically be pushed to https://nuget.smbsrc.net.

dotnet clean -c Release Net-Project-Package-Extractor.sln
dotnet pack --include-source -c Release Net-Project-Package-Extractor.sln

In case you want to push the new nugets to https://nuget.org use the following command. You will require an API Key. This needs to be repeated for each nuget that needs to be published.

dotnet nuget push Net-Project-Package-Extractor/nupkg/nppe.MAJOR.MINOR.PATCH.nupkg -s https://api.nuget.org/v3/index.json -k "your-api-key"

Verification Control Document Generator

  1. Home
  2. Quick Start

Developer Environment

  1. Developers Experience
  2. Build and Release
Clone this wiki locally