From 03ec15d457222fae54aedc0b24ea7f3f20937c7f Mon Sep 17 00:00:00 2001
From: Axel von Bertoldi <avonbertoldi@gitlab.com>
Date: Tue, 11 Feb 2025 14:12:20 -0700
Subject: [PATCH] Add deprecation notice for issue 517765

Add deprecation notice for
https://gitlab.com/gitlab-org/gitlab/-/issues/517765 in case we don't
find a non-breaking alternative.
---
 .../17-9-runner-helper-images-package.yml     | 25 +++++++++++++++++++
 doc/update/deprecations.md                    | 24 ++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 data/deprecations/17-9-runner-helper-images-package.yml

diff --git a/data/deprecations/17-9-runner-helper-images-package.yml b/data/deprecations/17-9-runner-helper-images-package.yml
new file mode 100644
index 0000000000000..b12c51f8438e3
--- /dev/null
+++ b/data/deprecations/17-9-runner-helper-images-package.yml
@@ -0,0 +1,25 @@
+- title: Make the `gitlab-runner-helper-images` Linux OS package an optional dependency of `gitlab-runner`
+  # The milestones for the deprecation announcement, and the removal.
+  removal_milestone: "18.0"
+  announcement_milestone: "17.9"
+  # Change breaking_change to false if needed.
+  breaking_change: true
+  window: # Can be 1, 2, or 3 - The window when the breaking change will be deployed on GitLab.com
+  reporter: deastman # The GitLab username of the person reporting the change
+  stage: verify
+  issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/517765
+  # Use the impact calculator https://gitlab-com.gitlab.io/gl-infra/breaking-change-impact-calculator/?
+  impact: medium # Can be one of: [critical, high, medium, low]
+  scope: instance, group, project # Can be one or a combination of: [instance, group, project]
+  resolution_role: Maintainer # Can be one of: [Admin, Owner, Maintainer, Developer]
+  manual_task: true # Can be true or false. Use this to denote whether a resolution action must be performed manually (true), or if it can be automated by using the API or other automation (false).
+  body: | # (required) Don't change this line.
+    Currently the `gitlab-runner` OS package depends on the `gitlab-runner-helper-images` package. The
+    `gitlab-runner-helper-images` package provides an exported archive of the `gitlab-runner-helper` Docker images for
+    several OS architectures. The archive is ~500MB, but is required by only some users. The required dependency means
+    users are forced to install the latter package even if they do not need the exported runner helper images it
+    provides.
+
+    In GitLab 18.0 this dependency will become optional, and users that need the exported helper images will have to
+    explicitly install them. This means that in very specific cases, CI jobs can fail when attempting to pull the helper
+    Docker image.
diff --git a/doc/update/deprecations.md b/doc/update/deprecations.md
index f2bfb1c9305e0..9466bfd935a81 100644
--- a/doc/update/deprecations.md
+++ b/doc/update/deprecations.md
@@ -1210,6 +1210,30 @@ for more information.
 
 <div class="deprecation breaking-change" data-milestone="18.0">
 
+### Make the `gitlab-runner-helper-images` Linux OS package an optional dependency of `gitlab-runner`
+
+<div class="deprecation-notes">
+
+- Announced in GitLab <span class="milestone">17.9</span>
+- Removal in GitLab <span class="milestone">18.0</span> ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
+- To discuss this change or learn more, see the [deprecation issue](https://gitlab.com/gitlab-org/gitlab/-/issues/517765).
+
+</div>
+
+Currently the `gitlab-runner` OS package depends on the `gitlab-runner-helper-images` package. The
+`gitlab-runner-helper-images` package provides an exported archive of the `gitlab-runner-helper` Docker images for
+several OS architectures. The archive is ~500MB, but is required by only some users. The required dependency means
+users are forced to install the latter package even if they do not need the exported runner helper images it
+provides.
+
+In GitLab 18.0 this dependency will become optional, and users that need the exported helper images will have to
+explicitly install them. This means that in very specific cases, CI jobs can fail when attempting to pull the helper
+Docker image.
+
+</div>
+
+<div class="deprecation breaking-change" data-milestone="18.0">
+
 ### New data retention limits for vulnerabilities on GitLab.com
 
 <div class="deprecation-notes">
-- 
GitLab