Skip to content

Draft: Add new CI pipeline source `repository_xray`

Leaminn Ma requested to merge add-x-ray-ci-pipeline-source into master

What does this MR do and why?

Context

The Repository X-ray is a tool that scans the user's project repository and retrieves a list of dependencies. These dependencies are then used to improve the context utilized by an LLM for Code Suggestions.

Currently, to run the scan, the user must copy/paste a CI job into their pipeline config. The problem with this is that it consumes CI minutes and requires manual configuration/maintenance.

So we decided on a new approach (#467357 (comment 1997678846)). The basic idea: Upon a new commit to the default branch, we will automatically trigger a special kind of pipeline that runs only the Repository X-Ray job. It will be self-limiting so that the number of pipelines created for this feature is minimized.

This MR is the first step to implement the new approach.

POC MR

You may reference the POC MR (!159818 (closed)) to see the full implementation.

This MR

In preparation for the new pipelines, we create a new pipeline source repository_xray in order to exempt them from counting towards the pipeline creation rate limit and CI minutes.

Note: A repository x-ray pipeline will only be triggered internally, with a specific config Yaml content. So there is no risk of users modifying the pipeline configuration to bypass CI minutes for other jobs.

Resolves first step of #473260 (closed).

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #473260 (closed)

Edited by Leaminn Ma

Merge request reports

Loading