GitLab CI and Distributed Builds
How we supercharged GitLab CI statuses with WebSockets

How we supercharged GitLab CI statuses with WebSockets

9/15/2025 · Payton Burdette

What this post added

This post details the implementation of GraphQL subscriptions over WebSockets to replace polling for GitLab CI job status updates. This significantly reduced API calls by 92.56% (from 45 million to 3.4 million per day) and provides instant status changes to users, improving the user experience and reducing database load. The transformation involved refactoring the job header component to use GraphQL and implementing subscriptions with ActionCable.

Read the original post ↗