blob: acedf280db2529f94390f1a4e4d3ebe98166d660 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package main
import (
"context"
buildbucketpb "go.chromium.org/luci/buildbucket/proto"
"go.chromium.org/luci/luciexe/invoke"
)
// A function which consumes a Build.proto, to be called within runStep.
type stepFunc func(context.Context, *buildbucketpb.Build) error
type stepRunner interface {
// RunStep calls a stepFunc, attaching a Step to Build.Steps.
runStep(ctx context.Context, name string, fn stepFunc) error
// Invoke calls a luciexe, attaching its Steps to Build.Steps.
invoke(ctx context.Context, exeArgs []string, opts *invoke.Options) error
}