Skip to content

Track failed CI builds with Snowplow

James Liu requested to merge jliu/send-ci-exit-codes-to-snowplow into master

What does this MR do and why?

This MR adds a Sidekiq worker and service that sends Snowplow tracking events whenever a CI build's state has changed to failed. It captures the exit code as reported by the Runner, sending it and related build information (namely the types of the artifacts produced by the build) to Snowplow. The change was modelled after the pattern established by the TrackSecureScansWorker.

https://gitlab.com/gitlab-org/iglu/-/merge_requests/78 was also opened to create the iglu schema that this event conforms to.

Related issues

How to set up and validate locally

  • Running the track_failed_build_service_spec.rb and track_failed_build_worker_spec.rb specs should demonstrate that the change is valid.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by James Liu

Merge request reports