use switch for release/path logic
This commit is contained in:
parent
60bf397569
commit
eee73eed59
@ -68,21 +68,26 @@ func LoadBuiltinActors(lc fx.Lifecycle, mctx helpers.MetricsCtx, r repo.LockedRe
|
|||||||
|
|
||||||
// we haven't recorded it in the datastore, so we need to load it
|
// we haven't recorded it in the datastore, so we need to load it
|
||||||
var mfCid cid.Cid
|
var mfCid cid.Cid
|
||||||
if bd.Path != "" {
|
switch {
|
||||||
|
case bd.Path != "":
|
||||||
// this is a local bundle, load it directly from the filessystem
|
// this is a local bundle, load it directly from the filessystem
|
||||||
mfCid, err = bundle.LoadBundle(ctx, bs, bd.Path, av)
|
mfCid, err = bundle.LoadBundle(ctx, bs, bd.Path, av)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return result, err
|
return result, err
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
|
case bd.Release != "":
|
||||||
// fetch it and add it to the blockstore
|
// fetch it and add it to the blockstore
|
||||||
mfCid, err = bundle.FetchAndLoadBundle(ctx, r.Path(), bs, av, bd.Release, netw)
|
mfCid, err = bundle.FetchAndLoadBundle(ctx, r.Path(), bs, av, bd.Release, netw)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return result, err
|
return result, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
return result, xerrors.Errorf("no release or path specified for version %d bundle", av)
|
||||||
}
|
}
|
||||||
|
|
||||||
if bd.Development {
|
if bd.Development || bd.Release == "" {
|
||||||
// don't store the release key so that we always load development bundles
|
// don't store the release key so that we always load development bundles
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -119,18 +124,23 @@ func LoadBuiltinActorsTesting(lc fx.Lifecycle, mctx helpers.MetricsCtx, bs dtype
|
|||||||
defer testingBundleMx.Unlock()
|
defer testingBundleMx.Unlock()
|
||||||
|
|
||||||
for av, bd := range build.BuiltinActorReleases {
|
for av, bd := range build.BuiltinActorReleases {
|
||||||
if bd.Path != "" {
|
switch {
|
||||||
|
case bd.Path != "":
|
||||||
// we need the appropriate bundle for tests; it should live next to the main bundle, with the
|
// we need the appropriate bundle for tests; it should live next to the main bundle, with the
|
||||||
// appropriate network name
|
// appropriate network name
|
||||||
path := filepath.Join(filepath.Dir(bd.Path), fmt.Sprintf("builtin-actors-%s.car", netw))
|
path := filepath.Join(filepath.Dir(bd.Path), fmt.Sprintf("builtin-actors-%s.car", netw))
|
||||||
if _, err := bundle.LoadBundle(ctx, bs, path, av); err != nil {
|
if _, err := bundle.LoadBundle(ctx, bs, path, av); err != nil {
|
||||||
return result, xerrors.Errorf("error loading testing bundle for builtin-actors version %d/%s: %w", av, netw, err)
|
return result, xerrors.Errorf("error loading testing bundle for builtin-actors version %d/%s: %w", av, netw, err)
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
|
case bd.Release != "":
|
||||||
const basePath = "/tmp/lotus-testing"
|
const basePath = "/tmp/lotus-testing"
|
||||||
if _, err := bundle.FetchAndLoadBundle(ctx, basePath, bs, av, bd.Release, netw); err != nil {
|
if _, err := bundle.FetchAndLoadBundle(ctx, basePath, bs, av, bd.Release, netw); err != nil {
|
||||||
return result, xerrors.Errorf("error loading testing bundle for builtin-actors version %d/%s: %w", av, netw, err)
|
return result, xerrors.Errorf("error loading testing bundle for builtin-actors version %d/%s: %w", av, netw, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
return result, xerrors.Errorf("no path or release specified for version %d bundle", av)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user