1
0
mirror of https://github.com/woodpecker-ci/woodpecker.git synced 2025-11-23 21:44:44 +02:00

Fix backend detection (#3353)

closes #3352
This commit is contained in:
Anbraten
2024-02-09 00:04:43 +01:00
committed by GitHub
parent 0b91317cde
commit 6785806873
4 changed files with 13 additions and 26 deletions

View File

@@ -21,19 +21,7 @@ import (
"go.woodpecker-ci.org/woodpecker/v2/pipeline/backend/types"
)
var (
backendsByName map[string]types.Backend
backends []types.Backend
)
func Init(backends []types.Backend) {
backendsByName = make(map[string]types.Backend)
for _, engine := range backends {
backendsByName[engine.Name()] = engine
}
}
func FindBackend(ctx context.Context, backendName string) (types.Backend, error) {
func FindBackend(ctx context.Context, backends []types.Backend, backendName string) (types.Backend, error) {
if backendName == "auto-detect" {
for _, engine := range backends {
if engine.IsAvailable(ctx) {
@@ -44,10 +32,11 @@ func FindBackend(ctx context.Context, backendName string) (types.Backend, error)
return nil, fmt.Errorf("can't detect an available backend engine")
}
engine, ok := backendsByName[backendName]
if !ok {
return nil, fmt.Errorf("backend engine '%s' not found", backendName)
for _, engine := range backends {
if engine.Name() == backendName {
return engine, nil
}
}
return engine, nil
return nil, fmt.Errorf("backend engine '%s' not found", backendName)
}