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
-
Triggering a FOSS pipeline with ~"pipeline:run-as-if-foss-cross-project": !140686 (merged) -
Expanding on Jest: !140803 (merged) -
Expand to most of the as-if-foss
jobs: !141403 (merged) -
Clean up left over branches: #412717 (comment 1714436673) -
Flip pipeline:run-as-if-foss with ~"pipeline:run-as-if-foss-cross-project" so that we no longer run as-if-foss
jobs, but fully relying on the triggered pipeline: !141897 (merged)- We should ensure coverage data report is correct
- Reverted at: !142842 (merged)
- Try again at: !142899 (merged) with gitlab-org/quality/triage-ops!2646 (merged)
- A follow up fix for dev: !143390 (merged)
- A follow up fix for some merge requests: !143484 (merged)
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