-
Notifications
You must be signed in to change notification settings - Fork 2
Build And Release
ECoreNetto is developed using Visual Studio 2022.
The following tools are used by the Starion Group development team:
- Visual Studio 2022 Professional (Community Edtion will work as well)
- Resharper Ultimate 2022.1.2 or later
- Git Extensions
Follow the steps to create pre-release nugets that are not optimized using the Debug configuration or a release nugets using the Release configuration:
- Run all unit tests and verify that they pass
- Make sure the version numbers of the projects are incremented when things have changed; the project makes use of SEMVER.
- Update the
<PackageReleaseNotes>
in the .csproj files; this will be visible on https://nuget.org - Via the GitHub web-ui
draft a new release
referencing the tag and set therelease title
toVersion 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 usingdotnet push
to publish the packages on https://nuget.org, the symbols packages will be pushed as well.
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.
dotnet clean -c Release ECoreNetto.sln
dotnet pack --include-source -c Release ECoreNetto.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 ECoreNetto.MAJOR.MINOR.PATCH.nupkg --source https://api.nuget.org/v3/index.json --api-key "your-api-key"
dotnet nuget push ECoreNetto.Extensions.MAJOR.MINOR.PATCH.nupkg --source https://api.nuget.org/v3/index.json --api-key "your-api-key"
dotnet nuget push ECoreNetto.HandleBars.MAJOR.MINOR.PATCH.nupkg --source https://api.nuget.org/v3/index.json --api-key "your-api-key"
dotnet nuget push ECoreNetto.Tools.MAJOR.MINOR.PATCH.nupkg --source https://api.nuget.org/v3/index.json --api-key "your-api-key"
the release.bat file automates these steps, execute it from the commandline using your nuget API key:
./release.bat <your-api-key>
The release.bat includes the EcoreNetto.Tools
package tool and publishes that to nuget. For windows users that do not have access to nuget.org to install the application a self-contained executable is made available. Run the following command from the solution folder.
dotnet publish -c Release ECoreNetto.Tools\ECoreNetto.Tools.csproj -r win-x64 --self-contained true -p:PublishSingleFile=true
Compute the SHA-256 of the ECoreNetto.Tools.Exe
file. Upload the file to the release notes page and include the hash in the text.
copyright @ Starion Group S.A.