cardano-ledger icon indicating copy to clipboard operation
cardano-ledger copied to clipboard

Implement a tool that enforces and helps with the release process

Open lehins opened this issue 1 year ago • 1 comments

This ticket will capture a specification for the tool that we direly need to help us enforce adherence to the releasing and versioning process.

Actual specification and description of features will come later and will be included in this ticket.

lehins avatar Aug 28 '24 20:08 lehins

Here is a rough list of features that we might want:

Helpers

  • Git diff the package and ask if the version bump is desired, especially with cabal file changes

  • Validate git tags and create them when missing

  • Create a changelog entry after a release.

  • Verify changelog header (title)

  • Whenever making a patch release of a set of packages, need to find the latest one released

  • Runs a command that pulls all packages that are subject to CHaP release and calls out to the CHaP shell script that does the release, eg:

$ ./scripts/add-from-github.sh https://github.com/IntersectMBO/cardano-ledger <SHA> eras/allegra/impl eras/alonzo/impl eras/alonzo/test-suite eras/babbage/impl eras/babbage/test-suite eras/conway/impl eras/conway/test-suite eras/mary/impl eras/shelley/impl eras/shelley/test-suite eras/shelley-ma/test-suite libs/cardano-ledger-api libs/cardano-ledger-core libs/cardano-ledger-binary libs/cardano-protocol-tpraos libs/non-integral libs/small-steps libs/cardano-data libs/set-algebra libs/vector-map eras/byron/chain/executable-spec eras/byron/ledger/executable-spec eras/byron/ledger/impl eras/byron/ledger/impl/test eras/byron/crypto eras/byron/crypto/test

Enforcers:

  • Version in chagelog file matches the one in cabal file, except for after the release
  • Enforce change to dependencies in cabal file result in a version bump
  • Enforce correct version bump: no skipping of versions

Ability to compare revisions

  • Download cabal file from the sha of original release and previous revisions
  • Compare new revision with previous ones

lehins avatar Aug 13 '25 16:08 lehins