dotnet-releaser 0.3.2

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global dotnet-releaser --version 0.3.2                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local dotnet-releaser --version 0.3.2                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-releaser&version=0.3.2                
nuke :add-package dotnet-releaser --version 0.3.2                

dotnet-releaser Build Status NuGet

<img align="right" width="160px" height="160px" src="https://raw.githubusercontent.com/xoofx/dotnet-releaser/main/img/dotnet-releaser.png">

dotnet-releaser is a all-in-one command line tool that fully automates the release cycle of your .NET libraries and applications to NuGet and GitHub by building, testing, running coverage, cross-compiling, packaging, creating release notes from PR/commits and publishing.

In practice, dotnet-releaser will automate the build and publish process of your .NET libraries and applications by wrapping:

  • dotnet build with potentially multiple solutions
  • dotnet test
    • Plus the automatic support for coverage.
  • dotnet pack for creating NuGet packages
  • dotnet publish that can automatically cross-compile to 9+ CPU/OS platforms.
    • And create additionally, by default, multiple packages (zip, debian, rpm...) to distribute your app
  • dotnet nuget push to publish your package to a NuGet registry
  • Pretty changelog creation from pull-requests and commits.
  • Create and upload the changelog and all the packages packed to your GitHub repository associated with the release tag.
  • It will publish automatically the coverage results to https://coveralls.io if your repository is created there.

overview

Features

  • Very simple to use, configure and integrate into your GitHub Action CI
  • Build and tests your .NET libraries and applications from multiple solutions.
  • Add automatic coverage support via coverlet with your tests.
  • Cross-compile your .NET 6.0+ application to 9+ OS/CPU targets.
  • Create zip archives, Linux packages (debian, rpm) and Homebrew taps
  • Allow to publish your application as a service (only Systemd for now for deb and rpm packages).
  • Create and publish beautiful release notes by extracting the information directly from pull-requests and commits, while offering customizable templates.
  • Publish all artifacts to NuGet and GitHub
  • Can be used to build/tests/package/publish locally or from GitHub Action using the same command.

Defaults

By default, dotnet-releaser will:

  • Build your project/solution in Release
  • Run tests in Release
  • Create NuGet packages for libraries and your application (packed as a .NET global tool)
  • Create application packages for any packable application in your project:
    • [win-x64] with [zip] package
    • [win-arm] with [zip] package
    • [win-arm64] with [zip] package
    • [linux-x64] with [deb, tar] packages
    • [linux-arm] with [deb, tar] packages
    • [linux-arm64] with [deb, tar] packages
    • [rhel-x64] with [rpm, tar] packages
    • [osx-x64] with [tar] package
    • [osx-arm64] with [tar] package
  • Publish your application as a global tool to NuGet
  • Upload all the package artifacts and your changelog to GitHub on the tag associated with your package version (e.g your package is 1.0.0, it will try to find a git tag v1.0.0 or 1.0.0).
  • Create a Homebrew repository and formula (e.g user_or_org/homebrew-your-app-name) for all the tar files associated with the targets for Linux and MacOS.

Any of these steps can be configured or even entirely disabled easily from a config file. See the user guide on how to setup this differently for your application.

Getting Started

  • Create a dotnet-releaser.toml at the same level you have your .NET solution. Most projects won't need more than this kind of configuration:
    [msbuild]
    project = "Tonlyn.sln"
    [github]
    user = "xoofx"
    repo = "Tomlyn"
    
  • Install dotnet-releaser as a global .NET tool.
    dotnet tool install --global dotnet-releaser"
    
  • If you want to try a full build locally:
    dotnet-releaser build --force dotnet-releaser.toml
    

See the user guide below for further details on how to use dotnet-releaser.

User Guide

For more details on how to use dotnet-releaser, please visit the user guide.

License

This software is released under the BSD-Clause 2 license.

Who is using dotnet-releaser?

It's brand new, so only the author for now! 😄

You can see it's usage on the project grpc-curl here.

Credits

dotnet-releaser is a wrapper around many amazing OSS libraries:

Author

Alexandre Mutel aka xoofx.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.10.0 285 11/13/2024
0.9.0 3,365 5/6/2024
0.8.5 2,571 2/13/2024
0.8.4 772 2/9/2024
0.8.3 757 2/9/2024
0.8.2 773 2/8/2024
0.8.1 799 2/8/2024
0.8.0 685 2/8/2024
0.7.1 3,476 10/14/2023
0.7.0 1,408 10/7/2023
0.6.4 2,290 9/8/2023
0.6.3 5,556 3/8/2023
0.6.2 1,648 3/6/2023
0.6.1 2,873 11/14/2022
0.6.0 1,489 11/14/2022
0.5.2 1,966 10/20/2022
0.5.1 1,560 10/19/2022
0.5.0 1,780 9/5/2022
0.4.4 1,992 8/31/2022
0.4.3 1,581 8/28/2022
0.4.2 1,822 8/11/2022
0.4.1 2,534 5/7/2022
0.4.0 1,934 4/11/2022
0.3.14 1,985 3/7/2022
0.3.13 1,454 3/7/2022
0.3.12 1,719 3/6/2022
0.3.11 1,439 3/6/2022
0.3.10 1,662 3/6/2022
0.3.9 1,645 3/5/2022
0.3.8 1,566 3/5/2022
0.3.7 1,391 3/4/2022
0.3.6 1,668 3/3/2022
0.3.5 1,596 3/3/2022
0.3.4 1,366 3/1/2022
0.3.3 1,529 2/27/2022
0.3.2 1,644 2/27/2022
0.3.1 1,522 2/27/2022
0.3.0 1,582 2/27/2022
0.2.2 1,443 2/25/2022
0.2.1 1,455 2/25/2022
0.2.0 1,255 2/25/2022
0.1.12 1,537 2/8/2022
0.1.11 1,524 2/4/2022
0.1.10 1,483 2/4/2022
0.1.9 1,464 2/3/2022
0.1.8 1,369 2/3/2022
0.1.7 1,414 2/3/2022
0.1.6 1,627 2/2/2022
0.1.5 1,581 1/31/2022
0.1.4 1,509 1/31/2022
0.1.3 1,519 1/31/2022
0.1.2 1,497 1/31/2022
0.1.1 1,695 1/31/2022
0.1.0 1,681 1/29/2022