mirror of
https://git.vectorsigma.ru/public/atlantis.git
synced 2026-07-29 11:38:35 +00:00
* fix(deps): update module github.com/petergtz/pegomock/v3 to v4 in go.mod * remove pegomock generate m option, which is not support after v4 * make regen-mocks * replace pegomock v4 primitive eq/matchers * convert pegomock v4 Eq/Any matchers * remove custom models.Repo matcher * pegomock v4 cannot use result method args ref https://github.com/petergtz/pegomock/issues/123 --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
26 lines
947 B
Go
26 lines
947 B
Go
package runtime
|
|
|
|
import (
|
|
version "github.com/hashicorp/go-version"
|
|
"github.com/runatlantis/atlantis/server/events/command"
|
|
"github.com/runatlantis/atlantis/server/logging"
|
|
)
|
|
|
|
//go:generate pegomock generate --package mocks -o mocks/mock_versionedexecutorworkflow.go VersionedExecutorWorkflow
|
|
|
|
// VersionedExecutorWorkflow defines a versioned execution for a given project context
|
|
type VersionedExecutorWorkflow interface {
|
|
ExecutorVersionEnsurer
|
|
Executor
|
|
}
|
|
|
|
// Executor runs an executable with provided environment variables and arguments and returns stdout
|
|
type Executor interface {
|
|
Run(ctx command.ProjectContext, executablePath string, envs map[string]string, workdir string, extraArgs []string) (string, error)
|
|
}
|
|
|
|
// ExecutorVersionEnsurer ensures a given version exists and outputs a path to the executable
|
|
type ExecutorVersionEnsurer interface {
|
|
EnsureExecutorVersion(log logging.SimpleLogging, v *version.Version) (string, error)
|
|
}
|