luci: go.chromium.org/luci/buildbucket/luciexe Index | Files

package luciexe

import "go.chromium.org/luci/buildbucket/luciexe"

Package luciexe implements LUCI Executable protocol, documented in message Executable in https://chromium.googlesource.com/infra/luci/luci-go/+/master/buildbucket/proto/common.proto

Index

Package Files

client.go doc.go listener.go logdog.go logdog_posix.go main.go nocancel.go runner.go

Constants

const BuildStreamName = "build.proto"

BuildStreamName is the name of the build stream, relative to $LOGDOG_STREAM_PREFIX. For more details, see Executable message in https://chromium.googlesource.com/infra/luci/luci-go/+/master/buildbucket/proto/common.proto

func RunnerMain Uses

func RunnerMain(args []string) int

RunnerMain runs LUCI runner, a program that runs a LUCI executable.

type Client Uses

type Client struct {
    // Timestamp for the build message stream.
    // If zero, time.Now is used.
    BuildTimestamp time.Time

    // InitBuild is the initial state of the build read from stdin.
    InitBuild *pb.Build

    // Logdog environment.
    // Logdog.Client can be used to create new LogDog streams.
    Logdog *bootstrap.Bootstrap
    // contains filtered or unexported fields
}

Client can be used by Go programs to implement LUCI Executable protocol.

Example program that does not check errors:

package main

import
  "go.chromium.org/luci/buildbucket/luciexe"
  "go.chromium.org/luci/buildbucket/proto"
)

func main() int {
   var client luciexe.Client
   client.Init()
   client.WriteBuild(&buildbucketpb.Build{
     Steps: []*buildbucketpb.Step{
       {
         Name: "checkout",
         Status: buildbucketpb.SUCCESS,
         // start time, end time
       },
     },
   })
}

TODO(nodir): add support for sub-builds.

func (*Client) Close Uses

func (c *Client) Close() error

Close flushes all builds and closes down the client connection.

func (*Client) Init Uses

func (c *Client) Init() error

Init initializes the client. Populates c.InitBuild and c.Logdog.

func (*Client) WriteBuild Uses

func (c *Client) WriteBuild(build *pb.Build) error

WriteBuild sends a new version of Build message to the other side of the protocol, that is the host of the LUCI executable.

Package luciexe imports 56 packages (graph) and is imported by 2 packages. Updated 2019-07-20. Refresh now. Tools for package owners.

The go get command cannot install this package because of the following issues: