Skip to content

Do not ignore failed pipelines when playing manual publish jobs

Reuben Pereira requested to merge rp/list-failed-publish-pipelines into master

What does this MR do and why?

Describe in detail what your merge request does and why.

Content

When we tag a new version, a tag pipeline starts which builds the packages. And there is usually a manual job that is played by release-tools when the RM runs the chatops command for publishing packages. When there are failures in tag pipelines, it prevents the package from being published. And unfortunately, currently we have no warning when this happens. This MR attempts to make the failures slightly more visible.

When playing manual publish jobs, BasePublishService#execute looks for manual jobs in tag pipelines. But if a job in the tag pipeline has failed, the publish jobs will not be eligible to be played yet, and they won't be returned by an API call filtering for manual jobs. BasePublishService ignores the pipeline when this happens.

BasePublishService#execute currently returns a list of pipelines where manual jobs were played. This list is then displayed at the end of the chatops CI job log. This MR updates the BasePublishService to also return a list of failed pipelines so that we also have a list of failed pipelines, rather than silently ignoring failures.

In the next iteration (maybe as part of gitlab-com/gl-infra&1127), we can add a job into the release pipeline that automatically checks these pipelines for us.

gitlab-com/gl-infra/delivery#20334

Author Check-list

  • Has documentation been updated?
Edited by Reuben Pereira

Merge request reports