24 lines
563 B
Go
24 lines
563 B
Go
// Copyright 2019 Drone.IO Inc. All rights reserved.
|
|
// Use of this source code is governed by the Polyform License
|
|
// that can be found in the LICENSE file.
|
|
|
|
package engine
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
)
|
|
|
|
// Engine is the interface that must be implemented by a
|
|
// pipeline execution engine.
|
|
type Engine interface {
|
|
// Setup the pipeline environment.
|
|
Setup(context.Context, *Spec) error
|
|
|
|
// Destroy the pipeline environment.
|
|
Destroy(context.Context, *Spec) error
|
|
|
|
// Run runs the pipeine step.
|
|
Run(context.Context, *Spec, *Step, io.Writer) (*State, error)
|
|
}
|