Summary of Changes

I identified and fixed three issues causing the CI pipeline failures:

1. ee/app/assets/javascripts/packages_and_registries/artifact_registry/graphql/typedefs.graphql

Problem: The file defined a local PageInfo type that already exists in the global GitLab GraphQL schema. When the Apollo schema loader merged them, it threw a "Type already exists" error.

Fix: Removed the duplicate type PageInfo { ... } block (6 lines). The pageInfo: PageInfo! field in ArtifactRegistryRepositoryConnection can reference the globally-defined PageInfo type directly.

2. ee/app/assets/javascripts/packages_and_registries/artifact_registry/repositories/list/repositories_list.vue

Problem: The goToPage method spread undefined cursor values into the route query object: { ...this.$route.query, before, after }. In Vue Router 4 (used in Vue 3 mode), undefined query params are not dropped — they remain as undefined keys, causing the route query to not update as expected. This broke the paging tests and the live-region reannounce test.

Fix: Replaced the spread with explicit conditional assignment/deletion — only set after or before in the query object if the value is not undefined, and explicitly delete the opposite key to ensure only one direction is active at a time.

3. jest.config.base.js

Problem: The Jest transform pattern for SVG files was '^.+\\.(svg|gif|png|mp4)$', which does not match imports using the Vite/webpack ?url query suffix (e.g., docker.svg?url). In Vue 2 mode, the Jest resolver strips ?url before the transform runs, but in Vue 3 mode the transform receives the original path with ?url still appended, so it falls through to babel-jest which can't parse SVG content and returns undefined. This caused REPOSITORY_FORMAT_LOGOS values to be undefined, making the :src attribute absent in the rendered <img> element.

Fix: Updated the transform pattern to '^.+\\.(svg|gif|png|mp4)(\\?url)?$' so it also matches ?url-suffixed SVG imports. The static_file_transformer.js already handles the ?url suffix correctly (it splits on ? when extracting the basename).


Files Modified

  1. ee/app/assets/javascripts/packages_and_registries/artifact_registry/graphql/typedefs.graphql
  2. ee/app/assets/javascripts/packages_and_registries/artifact_registry/repositories/list/repositories_list.vue
  3. jest.config.base.js

Fixes failing pipeline

Session 5933603

Powered by Duo Fix Pipeline flow

Merge request reports

Loading
Loading