Notify failed master pipeline status in merge requests if the merge request can potentially be blocked by the same failures

Proposal

Suggested in #419 (comment 1806203314)

create a new triage-ops processor that would act when a pipeline finishes, to update the latest status of each job (we should also store the finished_at of jobs in the JSON status file) so that we only update the status if finished_at is > existing_status finished_at

Context

we would like to capture the statuses of gitlab master pipeline jobs in a status page, and use this information to decide if a full pipeline after MR approval should run, or cancel if a full pipeline is triggered.

Action Plan

  • Create a master pipeline jobs status page. status page is now live
  • Allow triage-ops to update the status page by reacting to succeeded/failed master pipelines. See MR
  • With Danger, alert MR if pipeline is likely blocked by a broken master pipeline. See MR
  • (Optional, depending on feedback) update the new_pipeline_on_approval processor to check the status page before triggering pipeline.
  • (Optional, depending on feedback) fail the Danger job added in step 3 when a master pipeline failure is detected, and when the chance of it being flaky is slow (for example, if the failure did not happen in an rspec test)
Edited by Jennifer Li