-
Notifications
You must be signed in to change notification settings - Fork 214
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
8605 a3p integration #8635
8605 a3p integration #8635
Conversation
4f043e3
to
a9adced
Compare
55952c4
to
57d0a65
Compare
57d0a65
to
fba3e3d
Compare
fba3e3d
to
6501295
Compare
# UNTIl this is upstream https://github.com/Agoric/agoric-3-proposals/issues/40 | ||
# Set to zero so tests don't have to pay gas (we're not testing that) | ||
sed --in-place=.bak s/'minimum-gas-prices = ""'/'minimum-gas-prices = "0ubld,0uist"'/ ~/.agoric/config/app.toml |
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.
# UNTIl this is upstream https://github.com/Agoric/agoric-3-proposals/issues/40 | |
# Set to zero so tests don't have to pay gas (we're not testing that) | |
sed --in-place=.bak s/'minimum-gas-prices = ""'/'minimum-gas-prices = "0ubld,0uist"'/ ~/.agoric/config/app.toml | |
# UNTIL this is upstream https://github.com/Agoric/agoric-3-proposals/issues/40 | |
# Set to zero so tests don't have to pay gas (we're not testing that) | |
sed -i .bak -e 's/minimum-gas-prices = ""/minimum-gas-prices = "0ubld,0uist"/' ~/.agoric/config/app.toml |
-e
says the next arg is an expression. Single quotes can capture the entire substitution expression, which can then include spaces and doublequotes. --in-place=.bak
didn't work on my version of sed. does -i
work for you?
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.
-e says the next arg is an expression. Single quotes can capture the entire substitution expression, which can then include spaces and doublequotes.
Sound like you think that would read better. I'll make those changes.
--in-place=.bak didn't work on my version of sed. does -i work for you?
Your version like on your Mac? IIRC it didn't work in Ubuntu, where this line runs.
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.
Your version like on your Mac?
Yeah. nothing special, just what's here.
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 just did a quick pass, far from being thorough. At this point I think I'm misaligned on the approach taken here. Let's discuss directly.
While I love the idea of a framework to run proposal layers on top of a3p, I don't understand the direction taken. I see why some shared tool is needed to ease the generation and execution of Docker image layers, but I don't understand why this tool should live in agoric-sdk. It is conceptually closer to a3p than agoric-sdk, and moving this logic back here seems like a regression.
I would recommend moving this tool to the a3p repo. In the future we could rename that repo if we want to detach it a little more from the agoric-3 chain (it could be a monorepo with the core tool, and different chain's images being built using the tooling).
I definitely want to find a solution to avoid the duplication of support libraries between the core tool/repo and consumer projects like agoric-sdk and dapps. My thinking is that the support library should be bundled in the base image, and proposals would just have it as a sort of "peer" dependency. I'm not sure of the specific hoops we'll have to jump through to make that work however.
I thought it was dead code. The test is marked in master as failing: https://github.com/Agoric/agoric-sdk/blob/master/packages/deployment/upgrade-test/upgrade-test-scripts/unreleased-upgrade/post.test.js#L4 I could copy the files over but since it won't pass that seems like noise to me. I propose the best course of action is that when we want it to be passing, we pull up the code from master's history. E.g. https://github.com/Agoric/agoric-sdk/tree/82d35483fc88a1ec5c873ead92c215bba1372731/packages/deployment/upgrade-test/upgrade-test-scripts/unreleased-upgrade |
2f05b47
to
e061296
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.
Nice to see the docker integration tests cleaned up. Mostly some nits.
I'm not sure the docker test will pass however, we'll see.
"private": true, | ||
"scripts": { | ||
"build": "echo Use synthetic-chain to build proposal images", | ||
"test": "echo Use synthetic-chain to test proposal images" |
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.
can't this run synthetic-chain test
?
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.
Yeah, I just thought it better to train people on the tool rather than creating another level of abstraction.
test('Ensure MaxBytes param was updated', async t => { | ||
const { value: rawParams } = await agd.query( | ||
'params', | ||
'subspace', | ||
'baseapp', | ||
'BlockParams', | ||
); | ||
const blockParams = JSON.parse(rawParams); | ||
t.is(blockParams.max_bytes, '5242880'); | ||
}); |
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 this probably should be removed since it should be upstream already (it's not testing this simulated upgrade anymore)
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.
It feels weird to not be actually doing any test here, but I suppose we're not yet able to do any core proposal on master yet, and no chain software changes are happening either.
Could we at the very least maintain the tests checking the zoe and network vat incarnation number?
.github/workflows/integration.yml
Outdated
- name: docker run upgrade final stage | ||
run: docker run --env "DEST=0" docker-upgrade-test:latest | ||
run: make docker-build-sdk | ||
working-directory: ./agoric-sdk/packages/deployment |
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.
AFAIK the repo is not checkout out in a agoric-sdk
sub folder for these tests
27ef7dd
to
fadf0cd
Compare
fadf0cd
to
44747ef
Compare
which introduces 'parseArgs' in node:utils
44747ef
to
d8690bf
Compare
# UPGRADE | ||
FROM ${BASE_IMAGE} as propose-unreleased-upgrade | ||
# TODO: Replace with actual Zoe core proposal for vat upgrades (MCS, Kread, Zoe, restart-contracts, etc) | ||
ARG UPGRADE_INFO='{"coreProposals":["@agoric/builders/scripts/vats/init-network.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.
The new tests don't simulate a network core proposal anymore
closes: #8605
Description
My goal is to have one CLI for these different use cases,
This relies on the new,
Security Considerations
n/a
Scaling Considerations
n/a
Documentation Considerations
Once the UI settles, we should document this in a guide.
Testing Considerations
CI and also ran locally on M1.
Upgrade Considerations
n/a