Skip to content

Keep only the most critical as-if-foss jobs, and move the rest to actual FOSS project pipeline

Proposal

Keep only the most critical as-if-foss jobs, and move the rest to actual FOSS project pipeline.

Iterations

Follow ups

Considerations

  • It'll reduce the complexity of CI configurations, because all RSpec variants won't need a as-if-foss counterpart, and as long as it runs in the FOSS project, it's already a FOSS variant
  • It'll speed up the merge request pipeline due to reducing the jobs we run normally
  • We can also implement a manual/auto trigger to run a FOSS pipeline in the FOSS project, which will run slightly more jobs than having as-if-foss jobs, but it'll also be much more clear about the context and will make navigating between the jobs easier (boundaries will be more clear)
  • This also means we're testing FOSS less, but it's likely a needed trade off as we run more tests for EE and especially for jobs that can actually detect errors from reaching GitLab.com. FOSS changes do not have this urgency and can be handled before each FOSS release with a longer cycle (down from every merge request to every few hours, for example)
  • There are a few related issues which I linked

Background

This was brought up in Engineering Productivity team meeting.

We're having more and more jobs and also different types of configurations like single-db, single-db-ci-connection, and also single-redis from !120566 (merged)

The pipeline from the above merge request showed 1234 jobs: https://gitlab.com/gitlab-org/gitlab/-/pipelines/876043544

Edited by Lin Jen-Shin