swarming

package
v0.0.0-...-51f9457 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2021 License: Apache-2.0 Imports: 36 Imported by: 0

README

Swarming endpoints. Includes builds and logs.

  • build.go - Ingests annotee

  • build_test.go - Tests for build.go

  • buildLog.go - Displays build logs

  • memoryClient.go - In memory butler client for annotee

  • html.go - Plain ol' html endpoints

Documentation

Index

Constants

View Source
const (
	// TaskRunning means task is running.
	TaskRunning = "RUNNING"
	// TaskPending means task didn't start yet.
	TaskPending = "PENDING"
	// TaskExpired means task expired and did not start.
	TaskExpired = "EXPIRED"
	// TaskTimedOut means task started, but took too long.
	TaskTimedOut = "TIMED_OUT"
	// TaskBotDied means task started but bot died.
	TaskBotDied = "BOT_DIED"
	// TaskCanceled means the task was canceled. See CompletedTs to determine whether it was started.
	TaskCanceled = "CANCELED"
	// TaskKill means the task was canceled. See CompletedTs to determine whether it was started.
	TaskKilled = "KILLED"
	// TaskCompleted means task is complete.
	TaskCompleted = "COMPLETED"
	// TaskNoResource means there was not enough capacity when scheduled, so the
	// task failed immediately.
	TaskNoResource = "NO_RESOURCE"
)

Swarming task states..

View Source
const SwarmingTimeLayout = "2006-01-02T15:04:05.999999999"

SwarmingTimeLayout is time layout used by swarming.

View Source
const URLBase = "/swarming/task"

URLBase is the routing prefix for swarming endpoints. It's here so that it can be a constant between the swarmingURLBuilder and the frontend.

Variables

View Source
var ErrNotMiloJob = errors.New("Not a Milo Job or access denied", grpcutil.PermissionDeniedTag)

ErrNotMiloJob is returned if a Swarming task is fetched that does not self- identify as a Milo job.

Functions

func AddBanner

func AddBanner(build *ui.MiloBuildLegacy, tags strpair.Map)

AddBanner adds an OS banner derived from "os" swarming tag, if present.

func AddProjectInfo

func AddProjectInfo(build *ui.MiloBuildLegacy, tags strpair.Map)

AddProjectInfo adds the luci_project swarming tag to the build.

func AddRecipeLink(build *ui.MiloBuildLegacy, tags strpair.Map)

AddRecipeLink adds links to the recipe to the build.

func GetBuild

func GetBuild(c context.Context, host, taskID string) (*ui.MiloBuildLegacy, error)

GetBuild returns a milo build from a swarming task id.

func GetLog

func GetLog(c context.Context, host, taskID, logname string) (text string, closed bool, err error)

GetLog loads a step log.

func RedirectsFromTask

func RedirectsFromTask(c context.Context, host, taskID string) (int64, string, error)

RedirectsFromTask returns either

  • The ID of the buildbucket build corresponding to this task. OR
  • The build.proto logdog stream from this swarming task.

If the task does not represent a buildbucket build, returns (0, "", nil).

func SwarmingBuildImpl

func SwarmingBuildImpl(c context.Context, svc swarmingService, taskID string) (*ui.MiloBuildLegacy, error)

SwarmingBuildImpl fetches data from Swarming and LogDog and produces a resp.MiloBuildLegacy representation of a build state given a Swarming TaskID.

func TaskPageURL

func TaskPageURL(swarmingHostname, taskID string) *url.URL

TaskPageURL returns a URL to a human-consumable page of a swarming task. Supports host aliases.

Types

type BuildID

type BuildID struct {
	// (Required) The Swarming TaskID.
	TaskID string

	// (Optional) The Swarming host. If empty, will use the
	// milo-instance-configured swarming host.
	Host string
}

BuildID is swarming's notion of a Build. See buildsource.ID.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL