I've pretty much embraced semantic-release for most of my release processes, both for books and software. It has gone pretty smoothly, but occasionally I find myself hacking it to get something working. One of the more recent ones (and something that is going to affect me in the near future) is the interaction between semantic-release and .NET projects.
These are two very different systems, including packaging, and there are plenty of NuGet packages to do semantic-release as a .NET project, but I use Node for my package management, thanks to Husky. So, after a year or so of writing up little ad-hoc programs, I decided to write a formal package.
Introducing semantic-release-dotnet. It is basically a “prepare” plugin for
semantic-release and writes out the
<Version/> element into
Directory.Build.props or a
.csproj file. It uses minimatch (via glob) to update the files, so you can edit the project files directly and it will write out certain files if they are missing.