Skip to content

Reproduce Repository X-Ray functionality in GitLab Rails monolith

Summary

In #474306 (comment 2025085630), we decided to migrate the Repository X-Ray functionality into the GitLab Rails monolith. This will allow us to run the service outside of the CI pipeline.

Proposal

Reproduce the functionality in Repository X-Ray as a new service inside the GitLab monolith.

MR Implementation

Description MR/Link
Create the base config file parser classes that can easily support future languages !162313 (merged), !162891 (merged)
Migrate X-Ray parsing logic for supported languages
  1. Python Poetry - pyproject.toml, poetry.lock
  2. Python Pip - requirements.txt
  3. Python Conda - environment.yml
  4. PHP Composer - composer.json, composer.lock
  5. JavaScript NPM - package.json, package-lock.json
  1. !166777 (merged), !166628 (merged)
  2. !166633 (merged)
  3. !166621 (merged)
  4. !166908 (merged), !166900 (merged)
  5. !166926 (merged), !166903 (merged)
Migrate X-Ray parsing logic for supported languages
  1. Go Modules - go.mod
  2. Java Maven - pom.xml
  3. Java Gradle - build.gradle
  4. Kotlin Gradle - build.gradle.kts
  1. !162898 (merged)
  2. !163046 (merged)
  3. !164122 (merged)
  4. !165875 (merged)
Migrate X-Ray parsing logic for supported languages
  1. C++ Conan - conanfile.txt
  2. C++ Conan - conanfile.py
  3. C++ vcpkg - vcpkg.json
  4. C counterparts for 1-3 above
  5. C# Nuget - *.csproj
  1. !165260 (merged)
  2. !165583 (merged)
  3. !166227 (merged)
  4. !166516 (merged)
  5. !166374 (merged)
Edited by Emerald-Jayde Henao