-
Notifications
You must be signed in to change notification settings - Fork 11
feat(stovepipe): define GetProjectStatusByURI API #637
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -54,11 +54,65 @@ message IngestResponse { | |
| string id = 1; | ||
| } | ||
|
|
||
| // GetProjectStatusByURIRequest selects the authoritative validation for an exact commit URI. | ||
| message GetProjectStatusByURIRequest { | ||
| // Logical queue containing the request. | ||
| string queue = 1; | ||
| // Exact VCS-agnostic commit URI whose authoritative request is selected. | ||
| string change_uri = 2; | ||
| // Optional exact project scope. When set, page_size and page_token must be zero and empty; | ||
| // when absent, one page of planned projects is returned. | ||
| optional string project = 3; | ||
| // Maximum projects to return. Zero selects the server default; negative values and values | ||
| // above the server maximum are invalid. | ||
| int32 page_size = 4; | ||
| // Opaque continuation token. Empty selects the first page. | ||
| string page_token = 5; | ||
| } | ||
|
|
||
| // ProjectValidation contains one planned project and any recorded result. | ||
| message ProjectValidation { | ||
| // Stable project identifier. | ||
| string project = 1; | ||
| // Breakage degree measures how broken the project is on [0.0, 1.0]. Unset until its fact is | ||
| // recorded; zero is fully green and one is fully broken. Values are directly comparable: | ||
| // lower values are greener, and any value above zero is not green. | ||
| optional double breakage_degree = 2; | ||
| } | ||
|
|
||
| // GetProjectStatusByURIResponse contains the authoritative request's current validation projection. | ||
| message GetProjectStatusByURIResponse { | ||
| // Globally unique identifier of the authoritative request. | ||
| string request_id = 1; | ||
| // Logical queue containing the request. | ||
| string queue = 2; | ||
| // VCS-agnostic commit URI validated by the request. | ||
| string change_uri = 3; | ||
| // Baseline URI for incremental validation. Empty for a full build. | ||
| string base_uri = 4; | ||
| // Stable public lifecycle state and terminal outcome of the request. | ||
| string request_state = 5; | ||
| // Breakage degree measures how broken the whole repository is on [0.0, 1.0]. Unset until its | ||
| // fact is recorded; zero is fully green and one is fully broken. Values are directly | ||
| // comparable: lower values are greener, and any value above zero is not green. | ||
| optional double repository_breakage_degree = 6; | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why is this optional? I assume if project is not provided we are retruning overall status plus paged projects |
||
| // Whether every planned project has one durable result and completion is recorded. False | ||
| // until the project list is available. | ||
| bool project_results_complete = 7; | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what is this for? I am unable to relate what does it support? |
||
| // Planned projects in stable project order, with any recorded breakage degrees. Empty until | ||
| // the project list is available. | ||
| repeated ProjectValidation projects = 8; | ||
| // Opaque continuation token. Empty on the final page. | ||
| string next_page_token = 9; | ||
| } | ||
|
|
||
| // Stovepipe provides the Stovepipe API. | ||
| service Stovepipe { | ||
| // Ping returns a response indicating the service is alive | ||
| rpc Ping(PingRequest) returns (PingResponse) {} | ||
| // Ingest admits a queue's newly observed commit into the validation pipeline and returns | ||
| // the minted request ID. The caller hands off asynchronously; validation happens later. | ||
| rpc Ingest(IngestRequest) returns (IngestResponse) {} | ||
| // GetProjectStatusByURI returns current validation for an exact commit URI's authoritative request. | ||
| rpc GetProjectStatusByURI(GetProjectStatusByURIRequest) returns (GetProjectStatusByURIResponse) {} | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be just ProjectStatus