cardano-community / guild-operators

Artifacts and scripts created by Guild operators
https://cardano-community.github.io/guild-operators
MIT License
354 stars 178 forks source link

[FR] Improvements to the release process #855

Closed tdiesler closed 3 years ago

tdiesler commented 3 years ago

Please consider the these improvements to the guild release process ...

Since all of this stuff pertains to certain Cardano versions, guild-operators could perhaps adopt a version scheme that derives from the Cardano versions (e.g. 1.25.1-guild-001).

This issue is filed as a consequence of this

Generally speaking, it is quite problematic that guild-operators uses an alpha branch as default, which means that every time someone installs these tools without specifying a specific revision, he/she gets an arbitrary commit that happens to be HEAD of some alpha branch. All sorts of bugs may sneak into an installation through this path as we (again) witnessed here.

There are no releases for the project and the outdated tags aren’t of much use either. Furthermore, gLiveView gives the user the (false) impression of a specific version (i.e. v1.19.4) - but this is not true. You cannot say gLiveView-1.19.4 has this or that behavior, while in fact you are running an unknown (in this case buggy) revision from an alpha branch.

To add pain to injury, some of these scripts run with root privileges in cron jobs. This is really scary IMHO.

Scitz0 commented 3 years ago
  • make the default branch ‘stable’ and not ‘alpha’

The fact that the alpha branch is the default branch on GitHub doesn't mean that this is the one that's used by default if you follow the Guild instructions to download and run prereqs.sh script. When you run the script and don't specifically specify the branch, master branch is used.

  • use tags and releases

The untagged master branch is always compatible with the current version of cardano-node. When a breaking change is introduced in cardano-node, master branch is tagged to be able to run older versions of the scripts that are compatible with that version. Master branch is then updated to support the new version.

  • versions on screen must be tags (i.e. 1.25.1 [9a7331cc])

This is not feasible, the guild repo does not contain a single application. It's a repo with a bundle of tools, scripts, and docs, each with its own version management and some without. But for every update, the version for the specific script is bumped to trigger a download/update notification.

The specific issue reported on Cardano forum was due to a bug in an update preparing for 1.26.x pushed to master branch. There is always the possibility that some bugs slip through our testing in alpha before pushed through to master(stable). Fixed a day later by the 1.19.5 patch version of gLiveView.sh.

Tx metrics are only reported if TraceMempool is set to true in the config file(default if not changed). And on startup, the metric will be empty until the node receives any Tx to process.