Skip to content
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

which branch for near-term walletFactory work? master or release-mainnet1B? #8565

Closed
dckc opened this issue Nov 27, 2023 · 3 comments
Closed
Assignees

Comments

@dckc
Copy link
Member

dckc commented Nov 27, 2023

What is the Problem Being Solved?

near-term walletFactory work such as #8445 is the/a first step in un-tangling dependencies in upgrading all vats to match master. Should that work be based on master or on the release-mainnet1B branch?

Lack of clarity is starting to have tangible time costs.

Description of the Design

This issue is mainly a choice between 2 designs. quick IBIS sketch:

  • ? build the bundle to upgrade the walletFactory contract based on master or on the release-mainnet1B branch?
    • : continue to use main
      • (-) risk: testing in master might not reveal problems when deployed on mainnet
        • : agoric-3-proposals tests the bundle in a mainnet-like environment
          • (-) agoric-3-proposals tests are very limited / basic: "does the system not explode when I upgrade this one piece?"
            • : agoric-3-proposals should test all product features
              • (-) that's a lot of work; do we want to put it in the critical path?
    • : use release-mainnet1B branch

cc @mhofman @warner @Chris-Hibbert

Background

The most substantial progress so far, #8488, is based on master.

In starting work on #8293 by making a failing test (#8557), I took a more conservative approach and based it on release-mainnet1B. Today I was curious whether #8488 already fixes #8293, so I ported the test in #8557 to the branch in #8488. There was friction, since the bootstrapTests have been moved from the @agoric/vats package to @agoric/boot and ported to typescript (less friction than I thought; @turadg got me past it in a few minutes).

Security Considerations

Scaling Considerations

Test Plan

Upgrade Considerations

@mhofman
Copy link
Member

mhofman commented Nov 27, 2023

IMO, the code should be tested in the release-mainnet1B branch, and the bundles built from there too. The cherry picking from master to the release branch, or opposite is definitely adding friction, especially with the various large refactors missing from the release branch, but the limited test coverage from the docker upgrade test framework worried me enough to think the cherry-pick / porting effort is worth the piece of mind.

@dckc
Copy link
Member Author

dckc commented Nov 28, 2023

the resolution seems to be:

  • we build the bundle for release from the release branch
  • we also land the fixes on master

Whether one starts on master and backports or the other way around is at the discretion of devs.

@dckc
Copy link
Member Author

dckc commented Nov 29, 2023

p.s. for a more general policy:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants