Draft: AR delete surface: Remove the client delete-file method
What does this MR do and why?
This MR removes ArtifactRegistry::Client#delete_file, which has no caller in the monolith, along with its spec and a stale comment reference. It touches two files: ee/lib/artifact_registry/client.rb (removes the method, and rewords the comment above #delete_version that previously described both methods) and ee/spec/lib/artifact_registry/client_spec.rb (removes the describe '#delete_file' block).
The method was added in Step 1 ahead of a GraphQL mutation that was going to call it. That mutation has now been dropped from Step 6, following the product design decision that the UI should not offer per-file delete: removing a single file such as a .pom while keeping the .jar corrupts the version for consumers.
Whether Artifact Registry keeps its own delete-file REST route is a separate open question the designer raised with product, and it is not decided or affected by this MR.
No caller exists in the monolith, so nothing else breaks.
References
- Designer's confirmation that the UI should not offer per-file delete: gitlab-org/ops/artifact-registry!2201 (comment 3779379507)
- Reviewer's original question about per-file delete: gitlab-org/ops/artifact-registry!2201 (comment 3773665009)
- Design truth doc, "Format data model: files, versions, tags, deletes": https://gitlab.com/gitlab-org/ci-cd/package-stage/unified-artifact-management/-/blob/main/design/design-truth.md#format-data-model--files-versions-tags-deletes
- Step 1, added
#delete_versionand#delete_fileto the client: !253251 (merged) - Step 6, added the
ArtifactRegistryVersionDeletemutation (originally also included the file delete mutation): !253537 (merged) - Plan MR, "monolith artifact delete surface": gitlab-org/ops/artifact-registry!2201 (merged)
- Parent scoping issue: #627172
- Epic: &21052
Screenshots or screen recordings
Not applicable. This is a backend-only change with no user-facing surface.
How to set up and validate locally
bundle exec rspec ee/spec/lib/artifact_registry/client_spec.rb
# 819 examples, 0 failures
bundle exec rubocop ee/lib/artifact_registry/client.rb ee/spec/lib/artifact_registry/client_spec.rb
# no offenses detectedA repo-wide search for delete_file finds no remaining Artifact Registry caller.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.