blob: 933a1cf5faf4c554e1c419d106154398985af41a [file] [log] [blame]
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
syntax = "proto3";
package protos;
message Workflow {
// name is a unique name for a workflow, such as local_go_release. The name must be unique across
// all workflow configurations.
string name = 1;
// buildable_asks is a list of tasks to be performed by the workflow.
repeated BuildableTask buildable_tasks = 2;
// git_source is an optional configuration for which git source to fetch.
GitSource git_source = 3;
// id is a unique identifier generated by relui when a workflow is created.
string id = 4;
}
message BuildableTask {
// name is a unique name for a task, such as fetch_go_source. The name must be unique across
// all workflow configurations.
string name = 1;
// depends_on is the name of a task this task depends on. Artifacts from the depends_on task will be available
// to this task.
string depends_on = 2;
// task_status is the current status of a task.
TaskStatus status = 3;
// artifact_url is an optional URL to an artifact published by this task.
string artifact_url = 4;
// git_source is an optional configuration for which git source to fetch.
GitSource git_source = 5;
// task_type is a unique type for a task, such as FetchGerritSource. Types are used by task runners to identify
// how to execute a task.
string task_type = 6;
// id is a unique identifier generated by relui when a buildable task is created.
string id = 7;
}
// StartBuildableTaskRequest is a message sent to workers to start working on a BuildableTask for a Workflow.
message StartBuildableTaskRequest {
// workflow_id is the workflow to which the BuildableTask belongs.
string workflow_id = 1;
// buildable_task_id is the id of the BuildableTask to be started.
string buildable_task_id = 2;
// buildable_task_type is the type of the BuildableTask to be started.
string buildable_task_type = 3;
}
// LocalStorage is the persisted data of relui. It is used in development mode for saving application state.
message LocalStorage {
// workflows are a list of user-created workflows.
repeated Workflow workflows = 1;
}
message GitSource {
string url = 1;
string ref = 2;
}
enum TaskStatus {
TASK_STATUS_UNKNOWN = 0;
TASK_STATUS_CREATED = 1;
TASK_STATUS_STARTED = 2;
}