Utility for managing releases of cardano-ledger
The executable is named cleret which is derived from Cardano Ledger Release Tool. It's also the name of a brand of squeegee, which seems appropriate for a tool that's used to make things squeaky clean.
Releases include static binaries as release artifacts which can be downloaded and run in the CI of other repos. This repo also includes a reusable GitHub action that can be used to install the cleret executable using its release artifact:
- name: Install cleret
uses: input-output-hk/cardano-ledger-release-tool/actions/install-cleret@0.2Cardano Ledger release tool
Usage: cleret COMMAND
Available options:
-h,--help Show this help text
-V,--version Show version information
Available commands:
cabal Operations on a Cabal project
changelogs Operations on the changelogs of a project
workflow Operations on the GitHub workflows of a Cabal project
Usage: cleret changelogs COMMAND
Operations on the changelogs of a project
Available options:
-h,--help Show this help text
Available commands:
format Parse and reformat changelog files
Usage: cleret changelogs format [-v|--verbose] [(-i|--inplace) | (-o|--output FILE)]
[-b|--bullets CHARS] CHANGELOG ...
Parse and reformat changelog files
Available options:
-h,--help Show this help text
-v,--verbose Produce verbose output
-i,--inplace Modify files in-place
-o,--output FILE Write output to FILE
-b,--bullets CHARS Use CHARS for the levels of bullets (default: *-+)
CHANGELOG ... Changelog files to process
Parse and re-render a changelog, as a form of linting; the output is the canonical representation of the changelog. Using --inplace followed by git diff --exit-code will determine whether the changelog needs to be changed.
Usage: cleret workflow COMMAND
Operations on the GitHub workflows of a Cabal project
Available options:
-h,--help Show this help text
Available commands:
check-test-matrix Check that the test jobs in a GitHub workflow match the
tests in a Cabal project
Usage: cleret workflow check-test-matrix
[-v|--verbose] [--project DIR] [--workflow FILENAME]
Check that the test jobs in a GitHub workflow match the tests in a Cabal project
Available options:
-h,--help Show this help text
-v,--verbose Produce verbose output
--project DIR The project directory, or a subdirectory of it
(default: .)
--workflow FILENAME The workflow file name (relative to .github/workflows)
(default: haskell.yml)
Outputs the differences between the actual and the expected, and exits with a non-zero status if there are differences.
Usage: cleret cabal COMMAND
Operations on a Cabal project
Available options:
-h,--help Show this help text
Available commands:
targets List the targets in a Cabal project
Usage: cleret cabal targets [-v|--verbose] [-p|--project DIR] [-i|--include TYPE]
[-x|--exclude TYPE] [PACKAGE ...]
List the targets in a Cabal project
Available options:
-h,--help Show this help text
-v,--verbose Produce verbose output
-p,--project DIR The project directory, or a subdirectory of it
(default: .)
-i,--include TYPE Include targets of type TYPE (repeatable; one of: lib,
flib, exe, test, bench, setup)
-x,--exclude TYPE Exclude targets of type TYPE (repeatable; one of: lib,
flib, exe, test, bench, setup)
PACKAGE ... Show targets for PACKAGE ... (default: all packages)
During development, use nix develop and cabal build.
To build a static binary, use nix build .#static.
Make sure you have the following in ~/.config/nix/nix.conf or /etc/nix/nix.conf:
experimental-features = nix-command flakes
accept-flake-config = trueSee RELEASING.md.