Skip to content

Trace manually triggered downstream pipelines

Reuben Pereira requested to merge rp/tracing-triggered-jobs into master

What does this MR do and why?

Some jobs like wait:cng and wait:omnibus start downstream pipelines without using the bridge job feature of GitLab because the downstream pipeline is in a different GitLab instance.

This MR updates PipelineTracer::ProcessJobs to check for a downstream pipeline by parsing job logs, and start a trace of the downstream pipeline if one is found. Only some jobs that are known to trigger downstream pipelines are checked. This reduces the number of API calls.

There are 3 types of log messages that can be found in job logs that indicate a downstream pipeline has been triggered:

  1. Checking status of pipeline -- {:pipeline=>""} - This can be found in wait:cng and wait:omnibus.
  2. Triggered deployer pipeline -- {:url=>""} - This can be found in jobs triggered by the DeployTrigger class of Release-tools.
  3. Triggered downstream pipeline -- {:web_url=>""} - This can be found in some QA jobs triggered by Deployer.

gitlab-com/gl-infra/delivery#2722 (closed)

Author Check-list

  • Has documentation been updated?
Edited by Reuben Pereira

Merge request reports