Skip to content

Commit f841abe

Browse files
return error if installing deps fails
1 parent cd44fcd commit f841abe

1 file changed

Lines changed: 19 additions & 9 deletions

File tree

providers/providers.go

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,10 @@ func EnsureProvider(search ProviderLookup, autoUpdate bool, existing Providers)
350350
if provider != nil {
351351
// For already installed providers, ensure all dependencies are installed
352352
if autoUpdate {
353-
installDependencies(provider, existing)
353+
err := installDependencies(provider, existing)
354+
if err != nil {
355+
return nil, err
356+
}
354357
}
355358
return provider, nil
356359
}
@@ -385,7 +388,10 @@ func EnsureProvider(search ProviderLookup, autoUpdate bool, existing Providers)
385388
PrintInstallResults([]*Provider{nu})
386389

387390
// Check for and install any dependencies this provider requires
388-
installDependencies(nu, existing)
391+
err = installDependencies(nu, existing)
392+
if err != nil {
393+
return nil, err
394+
}
389395

390396
return nu, nil
391397
}
@@ -471,7 +477,7 @@ func installVersion(name string, version string) (*Provider, error) {
471477
}
472478

473479
// installDependencies ensures all dependencies of a provider are installed
474-
func installDependencies(provider *Provider, existing Providers) {
480+
func installDependencies(provider *Provider, existing Providers) error {
475481
for _, depName := range provider.Dependencies {
476482
// Check if dependency is already installed
477483
depProvider := existing.Lookup(ProviderLookup{ProviderName: depName})
@@ -480,17 +486,15 @@ func installDependencies(provider *Provider, existing Providers) {
480486
if upstreamDep != nil {
481487
depProvider, err := Install(upstreamDep.Name, "")
482488
if err != nil {
483-
log.Warn().Err(err).
484-
Str("provider", provider.Name).
485-
Str("dependency", depName).
486-
Msg("failed to install provider dependency")
489+
return err
487490
} else {
488491
existing.Add(depProvider)
489492
PrintInstallResults([]*Provider{depProvider})
490493
}
491494
}
492495
}
493496
}
497+
return nil
494498
}
495499

496500
func LatestVersion(name string) (string, error) {
@@ -888,7 +892,10 @@ func TryProviderUpdate(provider *Provider, update UpdateProvidersConfig) (*Provi
888892
if diff >= 0 {
889893
// Even if the provider doesn't need updating, we should check for any missing dependencies
890894
if providers, err := ListActive(); err == nil {
891-
installDependencies(provider, providers)
895+
err := installDependencies(provider, providers)
896+
if err != nil {
897+
return nil, err
898+
}
892899
}
893900
return provider, nil
894901
}
@@ -911,7 +918,10 @@ func TryProviderUpdate(provider *Provider, update UpdateProvidersConfig) (*Provi
911918

912919
// After updating the provider, also install any dependencies it requires
913920
if providers, err := ListActive(); err == nil {
914-
installDependencies(provider, providers)
921+
err := installDependencies(provider, providers)
922+
if err != nil {
923+
return nil, err
924+
}
915925
}
916926

917927
return provider, nil

0 commit comments

Comments
 (0)