-
Notifications
You must be signed in to change notification settings - Fork 52
ci: add a backward compatibility checks to the end-to-end runner #2816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
So the version can be used later to enable/disable/adapt tests scenarios
This allow to check two kind of incompatibilities: - of the runner itself with some older nodes - of two nodes between each others
…ode version Validated directly by clap. This change is needed in order to use the cardano node version in the compatibility checker.
| List of breaking changes that are NOT supported by the end-to-end tests, running a node with those versions against | ||
| `unstable` will result in an error and an exit code of `3`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| List of breaking changes that are NOT supported by the end-to-end tests, running a node with those versions against | |
| `unstable` will result in an error and an exit code of `3`. | |
| List of breaking changes that are NOT supported by the end-to-end tests, running the tests with nodes versions | |
| violating at least one of the case below will result in an error and an exit code of `3`. |
| } => { | ||
| write!( | ||
| f, | ||
| "{other_node_name} version `{other_node_min_compatible_version}` is incompatible with {name} with a version below `{min_compatible_version}`{context}", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| "{other_node_name} version `{other_node_min_compatible_version}` is incompatible with {name} with a version below `{min_compatible_version}`{context}", | |
| "{other_node_name} starting version `{other_node_min_compatible_version}` is incompatible with {name} with a version below `{min_compatible_version}`{context}", |
* mithril-end-to-end from `0.4.108` to `0.4.109`
5a7b8b8 to
1d65b16
Compare
jpraynaud
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🔥
| There are multiple ways to do this: | ||
|
|
||
| - disabling part of the scenarios | ||
| - adding or removing arguments to the binaries (i.e. `--backend` flag for the client-cli) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - adding or removing arguments to the binaries (i.e. `--backend` flag for the client-cli) | |
| - adding or removing arguments to the binaries (e.g. `--backend` flag for the client-cli) |
| > Node versions and distribution versions below are the ones that first included the changes, has node versions evolve | ||
| > faster than distribution versions the actual node version included in the distribution may be higher. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| > Node versions and distribution versions below are the ones that first included the changes, has node versions evolve | |
| > faster than distribution versions the actual node version included in the distribution may be higher. | |
| > Node versions and distribution versions below are the ones that first included the changes, as node versions evolve | |
| > faster than distribution versions the actual node version included in the distribution may be higher. |
| > Node versions and distribution versions below are the ones that first included the changes, has node versions evolve | ||
| > faster than distribution versions the actual node version included in the distribution may be higher. | ||
| > | ||
| > i.e. `--origin-tag` flag for the client-cli was introduced in version `0.11.13`, the first distribution that included |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| > i.e. `--origin-tag` flag for the client-cli was introduced in version `0.11.13`, the first distribution that included | |
| > e.g. `--origin-tag` flag for the client-cli was introduced in version `0.11.13`, the first distribution that included |
|
|
||
| --- | ||
|
|
||
| ## Not supported changes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ## Not supported changes | |
| ## Unsupported changes |
|
|
||
| ### Mithril client | ||
|
|
||
| - since `0.12.34` (2543.0): test of new `--epoch` filter to `cardano-db list` (disabled on lower versions) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will make the lists a bit more readable:
| - since `0.12.34` (2543.0): test of new `--epoch` filter to `cardano-db list` (disabled on lower versions) | |
| - **since `0.12.34` (2543.0)**: test of new `--epoch` filter to `cardano-db list` (disabled on lower versions) |
Content
This PR enhances the end to end runner by adding two mechanisms:
--backendto the cli), checks, or scenario steps.3)Compatibility check details
Backward-compatibilty: Supported changes
mithril-client:cardano-db snapshot list --epoch latest-5is skip on versions that don't have the--epochflag (below0.12.34)0.12.11usecardano-db-v2 downloadinstead ofcardano-db download --backend v20.11.14remove not yet implemented--include-ancillaryflag0.11.13remove not yet implemented--origin-tagflagmithril-aggregator:0.7.94only the leader aggregator must be restarted when updating protocol parameters, if below this version all aggregators are restartedIncompatible versions check details
0.11.14(2517.0) are not compatible with aggregator0.7.31and up (same distribution): it introduces the split of ancillary files from the cardano db archive and there's was a bug that make the download verification fails because without ancillaries the incomplete immutable trio is missing.0.7.91(next distribution) are not compatible with signer0.2.277and up (next distribution): those signers needs the new/protocol-configuration/{epoch}route0.7.55(2524.0) are not compatible with cardano node10.4.1and up: this cardano node version switch the ledger to the UTxO-HD format which was not supported before0.2.221(2450.0) are not compatible with newer distributions: there was a bug that makes signers fails if a unknown signed entity type discriminant was propagated in the network (triggered by the addition theCardanoDatabasesigned entity)Other changes
Pre-submit checklist
Comments
Issue(s)
Closes #2781, Closes #2760