Git Product home page Git Product logo

Comments (5)

xoofx avatar xoofx commented on August 12, 2024 3

Hey, as I'm the author of dotnet-releaser, and I found this discussion while trying to see folks discussing about it, always good to find out ideas. 🙂

So I was not aware of MinVer. I have used MSBuildGitHash in the past, and looked at Nerdbank and GitVersion but they were over complicated, and I'm super glad, because I'm starting to use MinVer from my own projects. Just to clarify, dotnet-releaser doesn't handle what MinVer is doing but relies on whatever you use to produce the version. So it should be compatible with MinVer and others. I switched dotnet-releaser itself to use it actually, and found one issue when using it with it, so all good!

On the topic of release drafter, super glad that you mentioned that, again, something I was not aware of, it's great. I'm actually working on integrating an equivalent of it directly in dotnet-releaser because I would like to have that entirely built-in, it's so nice.

On this topic:

Ok looked into in more detail. Instead of writing a Cake file and release drafter yml file we'd switch to a large toml file which would contain a tonne of options.

The idea is that I hope that for the a default experience for a regular OSS project, you won't have to define much (see for example the TOML file of grpc-curl here)

While it can do a lot, if you need to do anything outside the bounds of what it can do you're stuck. Whereas if you use MinVer/Cake/ReleaseDrafter separately you have full flexibility.

Agreed. Cake is a case where dotnet-releaser is not here to help solving that problem. If I take for examples all the OSS libraries I'm shipping, I will be able to ship them with dotnet-releaser. Anything else that would start to do more than the usual dance of dotnet build, dotnet test, dotnet publish, dotnet pack, dotnet nuget push...etc. is out of scope.
But it made me realize that I really want the full process of my build to be more automated for all my OSS projects (build, test, coverage, not only the packing/publishing), so I will add that support to dotnet-releaser as well.

Just wanted to say thank you for the discussion, that was insightful and brought me some inspirations! 😃

from templates.

RehanSaeed avatar RehanSaeed commented on August 12, 2024 2

Hi @xoofx, your project looked really interesting, so glad to chat and its awesome you found something useful here.

A bit about MinVer:
https://rehansaeed.com/the-easiest-way-to-version-nuget-packages/

The way I personally use release-drafter:
https://rehansaeed.com/the-fastest-nuget-package-ever-published-probably/

The idea is that I hope that for the a default experience for a regular OSS project, you won't have to define much (see for example the TOML file of grpc-curl here)

Good defaults would be awesome and the main selling point of dotnet-releaser. I think your project will work for 75-90% of projects and will do great and be quick to setup. I'll keep an eye on where you go with it.

from templates.

RehanSaeed avatar RehanSaeed commented on August 12, 2024 1

I saw this and discussed it briefly with @VictorioBerra.

dotnet-releaser would be a replacement for Cake build, Minver and Release Drafter. It'd need to have the folowing features to be equivelant:

  • Can draft proper release notes on GitHub according to a custom template driven by GitHub tags. GitHub can also now draft release notes but not driven by labels.
  • Autolabeller - Automatically add GitHub labels to a PR based on the files changed. This currently doesn't work if you use GitHub permissions but release-drafter is working on it.
  • Versioning needs to be as simple as MinVer and based on Git labels.
  • Need to be able to run the build locally.

Not sure it satisfies all the requirements. Haven't looked into it deeply.

from templates.

RehanSaeed avatar RehanSaeed commented on August 12, 2024 1

Ok looked into in more detail. Instead of writing a Cake file and release drafter yml file we'd switch to a large toml file which would contain a tonne of options.

While it can do a lot, if you need to do anything outside the bounds of what it can do you're stuck. Whereas if you use MinVer/Cake/ReleaseDrafter separately you have full flexibility.

While I think it has a place for those wanting to get started quickly. The lack of flexibility and some missing features I listed above, means I don't think we'd move to it just yet.

https://github.com/xoofx/dotnet-releaser/blob/main/doc/readme.md

from templates.

JamieMagee avatar JamieMagee commented on August 12, 2024 1

Okay, it makes sense for now. It's an early stage project, but I think it would be worth evaluating once it's more mature.

What drew me to it was how easy it makes it to cross-compile for many different architectures, and produce packages for a lot of different packaging formats. I don't think there's as simple a way to do that in Cake, but I'd be happy to be proved wrong.

from templates.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.