-
Notifications
You must be signed in to change notification settings - Fork 11.2k
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
[cli] Implement upgrade compatibility checks client side #19562
[cli] Implement upgrade compatibility checks client side #19562
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
3 Skipped Deployments
|
TestsStill thinking about test strategy however I have run through most tests manually. UpgradeErrorsV1.move
Upgrade to -> UpgradeErrorsV2.move
Output
|
029cb66
to
3785e49
Compare
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.
The core of this change looks great -- one thing to note is that we do still need to pay attention to which checks are enabled in the Compatibility
struct when we finish
, but otherwise this logic looks good.
Main thing to work on before landing is to polish the content of error messages (and figure out the testing strategy).
15c6b91
to
0c1fd4e
Compare
ac4a8c3
to
594c093
Compare
594c093
to
596617d
Compare
Compatibility::upgrade_check().check_with_mode::<CliCompatibilityMode>( | ||
&Module::new(&existing_module), | ||
&Module::new(new_module), | ||
)?; |
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.
pass in OLD then NEW. fixes the issue we saw last week, falls under the tests.
b4297e1
to
30d0043
Compare
3b3fcf9
to
380d989
Compare
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.
Thanks @jordanjennings-mysten -- comments are mostly clean-ups, but the most important one to address is the one about dependencies to Sui
in test packages -- we should use a "local" dep for that, rather than a "git" dep to avoid making CI times longer.
Otherwise this is good to go, accepting to unblock!
crates/sui/src/unit_tests/fixtures/upgrade_errors/all_v1/Move.toml
Outdated
Show resolved
Hide resolved
380d989
to
f9831f8
Compare
f9831f8
to
39d12f4
Compare
Description
Introduce client side upgrade compatibility checking, allowing users to check before TX submission if an upgrade will be successful. Improves the output of errors by relying on the move-binary-format crates checks to list the issues with the error to the user that are found.
Test plan
manually tested see comment below
Release notes