Skip to content

Pin service dependencies

Overview

In gitlab-org/quality/engineering-productivity/master-broken-incidents#10277 (comment 2328342823), we encountered a master:broken because a Node.js update in gitlab-org/cells/http-router!465 (merged) triggered a dormant bug in the GDK code.

To prevent these problems in the future, we could pin the version of service dependencies like the HTTP Router. That would force us to run GDK pipelines before updating the router version.

This process could even be automated like the Gitaly/KAS updates in gitlab-org/gitlab> if we are confident that pipelines can catch most problems, perhaps with more integration tests for services as well.

Business impact

Right now, any update to e.g. the GitLab HTTP Router that is merged could cause GDK to break for users and in CI.

This can cause notable disruptions, primarily in the engineering workflow, as demonstrated in gitlab-org/quality/engineering-productivity/master-broken-incidents#10277 (closed), where 70 MR pipelines failed unnecessarily due to this incident.

Impacted categories

The following categories relate to this issue: