blob: 1f42f30a74e9407664c1a073e709183767451592 [file] [log] [blame]
// Package providers builds different kinds of provider.Provider.
package providers
import (
"context"
"go.skia.org/infra/go/skerr"
"go.skia.org/infra/go/util"
"go.skia.org/infra/perf/go/config"
"go.skia.org/infra/perf/go/git/provider"
"go.skia.org/infra/perf/go/git/providers/git_checkout"
)
// New builds a Provider based on the instance config.
func New(ctx context.Context, instanceConfig *config.InstanceConfig) (provider.Provider, error) {
if util.In(string(instanceConfig.GitRepoConfig.Provider), []string{"", string(config.GitProviderCLI)}) {
return git_checkout.New(ctx, instanceConfig)
}
return nil, skerr.Fmt("invalid type of Provider selected: %q expected one of %q", instanceConfig.GitRepoConfig.Provider, config.AllGitProviders)
}