-
Notifications
You must be signed in to change notification settings - Fork 221
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
base: master
Are you sure you want to change the base?
Conversation
Deploying agoric-sdk with Cloudflare Pages
|
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.
3e1615b
to
1a188be
Compare
1a188be
to
69dc2a7
Compare
fix package json and lockfile
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.
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. Also update multichain-testing yarn.lock file with peer deps (currently broken in master)
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