Skip to content

Investigate & Fix/Quarantine test file: /browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb

Context

The /browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb spec file currently holds the 17th place of test file causing the most CI/CD pipeline failures in the last 3 months 🏅 . During those last 3 months:

  1. It caused 229 MR pipeline failures (that's ~11 pipeline failures a day, each impacting our Engineers)
  2. It caused 4 master pipeline failures (each potentially causing master-broken incidents)

See the Snowflake dashboard for that test file:

Screenshot_2025-06-19_at_14.01.57 Screenshot_2025-06-19_at_14.02.10

More info from the dashboard

  1. Looking at the failures over time, we had one peak on 2024-05-28, but it still fails pipelines daily:

Screenshot_2025-06-19_at_14.02.33

  1. There are 3 tests failing in that file (based on the name, and the number of errors, they are likely to be related)

    • Package Maven Repository with Gradle using ci job token pushes and pulls a maven package via gradle
    • Package Maven Repository with Gradle using personal access token pushes and pulls a maven package via gradle
    • Package Maven Repository with Gradle using project deploy token pushes and pulls a maven package via gradle
  2. Looking at the recent failure reports, here are the failures breakdown of the last 71 recent errors:

Error Type Count % of Total Description
Pipeline Creation Timeout 27 33.8% Wait for pipeline to be created failed after 240 seconds
Current User API GET Failed 12 15.0% Failed to GET .../api/v4/user (500) - HTML error pages
Group API GET Failed 8 10.0% Failed to GET .../api/v4/groups/... (500) - HTML/JSON error pages
Symbol Conversion Error 6 7.5% no implicit conversion of Symbol into Integer
User API GET Failed 4 5.0% Failed to GET .../api/v4/users/... (500) - HTML error pages
Generic Wait Timeout 4 5.0% Wait failed after 60 seconds
RSpec Multiple Exception 3 3.8% RSpec::Core::MultipleExceptionError
Sandbox Fabrication Failed 3 3.8% Fabrication of QA::Resource::Sandbox using the API failed (500)
ProjectRunner Fabrication Failed 2 2.5% Fabrication of QA::Resource::Ci::ProjectRunner using the API failed (500)
Project Runners API Failed 2 2.5% Failed to GET .../api/v4/projects/.../runners (500)
Database Connection Error 1 1.3% ActiveRecord::DatabaseConnectionError - PostgreSQL connection issues
User Fabrication Failed 1 1.3% Fabrication of QA::Resource::User using the API failed (500)
CICDSettings Fabrication Failed 1 1.3% Fabrication of QA::Resource::CICDSettings using the API failed (500)
Project Variables API Failed 1 1.3% Failed to GET .../api/v4/projects/.../variables/... (500)

Goal

Investigate the problem ,and fix/quarantine (if appropriate).

Even if the problem was caused by an infrastructure issue, I would find it interesting to make that test more resilient to those problems (if applicable).

About the data

We started importing data in Snowflake for non-E2E tests on 2025-04-23. We don't have non-E2E tests data before that date.

Edited by David Dieulivol