-
Notifications
You must be signed in to change notification settings - Fork 226
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
test(a3p-integration): update to agoric-upgrade-18 #10839
Conversation
Deploying agoric-sdk with
|
Latest commit: |
24d0ce5
|
Status: | ✅ Deploy successful! |
Preview URL: | https://884b6ae2.agoric-sdk.pages.dev |
Branch Preview URL: | https://mk-revise-a3p-post-u18.agoric-sdk.pages.dev |
Please retain |
b436c99
to
12e62c8
Compare
84f9b5c
to
71a0889
Compare
c3f4254
to
1d15d42
Compare
d03f2cc
to
8260dd4
Compare
cat accept.json | ||
yarn agoric wallet send --offer accept.json --from agoric1ee9hr0jyrxhy999y755mp862ljgycmwyp4pl7q --keyring-backend test | ||
ACCEPT_OFFER_ID=$(agoric wallet extract-id --offer accept.json) | ||
# UNTIL https://github.com/Agoric/agoric-sdk/issues/10891 | ||
# ACCEPT_OFFER_ID=$(agoric wallet extract-id --offer accept.json) |
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.
Even though the fix is merged, reverting this to its original state still fails in CI. So, keeping the workaround for now.
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.
Safe to merge. I think we need @Chris-Hibbert to confirm the test removals are appropriate.
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 don't think the u19 proposals are being applied in the next chain software upgrade, upgrade.go needs some staged but commented changes to be uncommented. I'm confused as to how test would pass without this.
I'm also surprised to see so many pre-built submission checked-in for upgrade-next, but that seemed to have been there before and just carried from the previous upgrade-19, so out of scope for this PR.
CoreProposalSteps = append(CoreProposalSteps, | ||
vm.CoreProposalStepForModules( | ||
"@agoric/builders/scripts/vats/upgrade-orchestration.js", | ||
), | ||
) | ||
|
||
// CoreProposals for Upgrade 19. These should not be introduced |
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 believe the following needs to be uncommented
"sdk-generate": [ | ||
"testing/replace-feeDistributor-short.js replaceFeeDistributor", | ||
"testing/add-USD-LEMONS.js addUsdLemons", | ||
"vats/upgrade-provisionPool.js upgradeProvisionPool", | ||
"vats/upgrade-asset-reserve.js upgradeAssetReserve", | ||
"vats/upgrade-psm.js upgradePSM", | ||
"vats/upgrade-paRegistry.js", | ||
"vats/upgrade-agoricNames.js agoricNamesCoreEvals/upgradeAgoricNames", | ||
"testing/add-USD-OLIVES.js agoricNamesCoreEvals/addUsdOlives", | ||
"testing/publish-test-info.js agoricNamesCoreEvals/publishTestInfo", | ||
"vats/upgrade-mintHolder.js upgrade-mintHolder A3P_INTEGRATION", | ||
"vats/terminate-governor-instance.js terminate-governor board02963:ATOM-USD_price_feed" | ||
] |
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 think some of these need to be moved to upgrade-next
as they're used in test. Not sure how it might be passing without it.
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.
They are present in n:upgrade-next/package.json
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.
Oh I missed that. Ok we need to remove the ones now applies in upgrade.go
from that list, and also probably any code that triggered the core eval submissions.
yarn ava initial.test.js | ||
|
||
# test more, in ways that change system state | ||
yarn ava ./*.test.js |
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'm a little uncomfortable carrying the non-wildcard test approach of the previous upgrade-19. @Chris-Hibbert are there any interdependency of tests?
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 don't believe so. I'd also prefer switching to a wildcard invocation.
@@ -8,16 +8,9 @@ | |||
}, | |||
"type": "Software Upgrade Proposal", | |||
"sdk-generate": [ | |||
"testing/replace-feeDistributor-short.js replaceFeeDistributor", |
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 think this one needs to remain
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.
But it is a part of core proposals? I would love to know why this should remain
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 assumed that any testing
proposal is solely used for testing. @Chris-Hibbert can you clarify?
golang/cosmos/app/upgrade.go
Outdated
// ) | ||
// } | ||
func upgradeMintHolderCoreProposal(upgradeName string) (vm.CoreProposalStep, error) { | ||
variant := getVariantFromUpgradeName(upgradeName) |
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.
Yikes, another variant type upgrade
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.
:(
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.
An eval.sh
wouldn't be executed in chain software upgrade proposal. It should be deleted, and any core evals submitted should be tests related ones and moved to test.sh
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.
Actually it looks like that based on sdk-generate some of these core evals were never actually submitted !? @Chris-Hibbert ?
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.
Looks like you're right. I don't see tests for ZCF, or PriceAdminRegistry.
"testing/add-USD-LEMONS.js addUsdLemons", | ||
"vats/upgrade-provisionPool.js upgradeProvisionPool", | ||
"vats/upgrade-asset-reserve.js upgradeAssetReserve", | ||
"vats/upgrade-psm.js upgradePSM", |
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.
Removing this results in the following error:
✔ verify trading after upgrade (12.7s)
─
upgrade PSMs
Rejected promise returned by test. Reason:
Error {
code: 'ENOENT',
errno: -2,
path: 'upgradePSM',
syscall: 'scandir',
message: 'ENOENT: no such file or directory, scandir \'upgradePSM\'',
}
Probably because the test expects it to be a core eval (or am i doing something wrong)
test.serial('upgrade PSMs', async t => {
// @ts-expect-error casting
const { vstorageKit } = t.context;
await evalBundles(UPGRADE_PSM_DIR);
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 think you're right. Some core proposals were submitted in the test layer, which is incorrect because acceptance tests would have run against an non upgraded psm in this case. We need to remove this core eval from the test as it should now be done in the upgrade.go
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 test removals look correct.
golang/cosmos/app/upgrade.go
Outdated
// Upgrade to include a cleanup from https://github.com/Agoric/agoric-sdk/pull/10319 | ||
"@agoric/builders/scripts/smart-wallet/build-wallet-factory2-upgrade.js", |
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.
Please reinstate. #10794 wants us to do a smartWallet upgrade on every release until it's fixed.
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.
Will add this back. I'm about to force push to a previous state prior to e75914c and resolve conflicts.
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.
Looks like you're right. I don't see tests for ZCF, or PriceAdminRegistry.
yarn ava initial.test.js | ||
|
||
# test more, in ways that change system state | ||
yarn ava ./*.test.js |
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 don't believe so. I'd also prefer switching to a wildcard invocation.
1a188be
to
69dc2a7
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.
We probably need to adapt this file to the expected vat upgrades of u19
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 worked on this today. And this only seems valid if the upgrades are triggered via core proposals, right? The current state of this PR keeps the vat upgrades as core evals, apart from a couple, all others have corresponding tests that verify incarnation number after core eval is applied.
P.S. vat names I used (locally. apart from psmVats which didn't match for some reason) picked from here
const vats = {
walletFactory: { incarnation: 6 },
'zcf-b1-92c07-reserve': { incarnation: 1 },
priceAuthority: { incarnation: 1 },
agoricNames: { incarnation: 1 },
'-provisionPool-governor': { incarnation: 1 },
'-provisionPool': { incarnation: 1 },
// ...psmVats,
...mintHolderVats,
};
BTW, I did uncomment the core proposals and got this test to pass with updated incarnation numbers but that resulted in failure of other tests (since I commented out evalBundles
from tests).
We probably need to adapt this file to the expected vat upgrades of u19
I am not sure if this is required for this PR to merge, or should this be done in #10901. Please confirm @mhofman
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 only seems valid if the upgrades are triggered via core proposals, right?
should this be done in #10901.
The content will change when upgrades are going through as core proposals but this PR should keep the file. If this PR doesn't run core proposals and postpones that to #10901, then yes that PR is in charge of updating the file with the new incarnation numbers.
f25b968
to
d7a0a0e
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.
I think this aligns with the "do nothing" upgrade we aligned on to get this landed.
@Chris-Hibbert will rework upgrade.go
and the upgrade-next
structure to move u19 core proposals as part of chain software and away from the test layer.
8b6e056
to
24d0ce5
Compare
This pull request has been removed from the queue for the following reason: The merge conditions cannot be satisfied due to failing checks: You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it. If you want to requeue this pull request, you need to post a comment with the text: |
This pull request has been removed from the queue for the following reason: The merge conditions cannot be satisfied due to failing checks: You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it. If you want to requeue this pull request, you need to post a comment with the text: |
Agoric/agoric-3-proposals#211
Description
This PR updates a3p to use upgrade-18 image as well as remove u18 core proposals from upgrade.go.
Security Considerations
None
Scaling Considerations
None
Documentation Considerations
None
Testing Considerations
All testing as it updates the base image for a3p
Upgrade Considerations
Removes u18 core proposals from upgrade.go