Skip to content

Build And Release

samatrhea edited this page Apr 28, 2024 · 2 revisions

Development Environment

DEH-CSV is developed using Visual Studio 2022.

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

Build

The DEH-CSV 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 DEH-CSV.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 DEH-CSV.sln
dotnet pack -c Release DEH-CSV.sln -o .

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 DEH-CSV.MAJOR.MINOR.PATCH.nupkg -s https://api.nuget.org/v3/index.json -k "your-api-key"

DEH-CSV

  1. Home
  2. Quick Start
  3. Roadmap

Soultion Structure

  1. Solution Structure

Type Mapping

  1. Type Mapping

Developer Environment

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