ethereum / trin

An Ethereum portal client: a json-rpc server with nearly instant sync, and low CPU & storage usage
378 stars 112 forks source link

Converting system for release notes #824

Open carver opened 1 year ago

carver commented 1 year ago

Are we happy with the towncrier-style release notes? If not, some alternatives popped up in #710, especially:

They work best with Conventional Commits, which would require us to shift how we write commit messages. (probably for the better, but it still requires some discussion)

It's worth quickly checking if that would meet our needs better.

njgheorghita commented 1 year ago

In sync today, we agreed to replace towncrier with one of the above crate-based libraries

A loose and incomplete summary of steps a :flamingo: will need to take to perform the conversion, when we are ready to cut our first official "alpha release"

ogenev commented 1 year ago

I think at this development stage, the simpler is better. Adding the rust-native release notes library seems unnecessary to me.. Using GitHub releases and manually updating Cargo.toml version may be good enough and simpler (check reth or lighthouse for inspiration).

Here is what release-plz can do for us:

I guess we care only for two things from this list above: the creation of GitHub releases and Cargo.toml update. Even at this stage, we don't update Cargo.toml when deploying to the testnet. We don't need to publish trin to crates.io, that's why I think this tool is more directed toward library releases, and introducing a CHANGELOG in the repo will complicate things (why reth and lighthouse don't have such a file? ).

Here is an example manual GitHub release only with a few clicks: https://github.com/ethereum/trin/releases/tag/testnet-v0.1.0-alpha.1.