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

feat: refactor: actor bundling system #8838

Merged
merged 10 commits into from
Jun 13, 2022
Merged

feat: refactor: actor bundling system #8838

merged 10 commits into from
Jun 13, 2022

Commits on Jun 10, 2022

  1. feat: build: refactor actor bundling system

    1. Include the builtin-actors in the lotus source tree.
    2. Embed the bundle on build instead of downloading at runtime.
    3. Avoid reading the bundle whenever possible by including bundle
       metadata (the bundle CID, the actor CIDs, etc.).
    4. Remove everything related to dependency injection.
        1. We're no longer downloading the bundle, so doing anything ahead
           of time doesn't really help.
        2. We register the manifests on init because, unfortunately, they're
           global.
        3. We explicitly load the current actors bundle in the genesis
           state-tree method.
        4. For testing, we just change the in-use bundle with a bit of a
           hack. It's not great, but using dependency injection doesn't make
           any sense either because, again, the manifest information is
           global.
    
    fixes #8701
    Stebalien committed Jun 10, 2022
    Configuration menu
    Copy the full SHA
    eff32b7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fb35ad6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2f4c33c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e2c7407 View commit details
    Browse the repository at this point in the history
  5. feat: build: remove the bundle.toml file

    Instead, we override bundles using environment variables and overrides
    in the build parameter files.
    Stebalien committed Jun 10, 2022
    Configuration menu
    Copy the full SHA
    54a4097 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2022

  1. fix: tests: correctly use mockProofs/InsecurePoStValidation

    1. Use mockProofs to determine the correct test bundle.
    2. Don't even bother setting InsecurePoStValidation for itests, it's
    already set.
    Stebalien committed Jun 11, 2022
    Configuration menu
    Copy the full SHA
    ea07648 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    33979ee View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ec9dd5c View commit details
    Browse the repository at this point in the history
  4. feat: verify that bundles have all actors when we read the metadata

    This gets tested:
    
    1. When we load dynamically (by path) specified bundles.
    2. When we decode the embedded bundles to generate the metadata.
    
    Effectively, this lets us test that the embedded bundles are actually
    correct.
    Stebalien committed Jun 11, 2022
    Configuration menu
    Copy the full SHA
    f01bd41 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2022

  1. address review

    Stebalien committed Jun 13, 2022
    Configuration menu
    Copy the full SHA
    fff677d View commit details
    Browse the repository at this point in the history