Run ci validation in MR pipelines
What does this MR do and why?
Add rspec ci-config-validation job to MR pipelines changing CI configuration files.
Things to note:
-
This new job is expected to be slow, because evaluating our pipeline yaml is time consuming due to its current size and complex logic.
- The job current takes
27 minutes 16 seconds
to run, which is significant for the critical path, as the entiretier-1
MR pipeline only takes31 minutes 54 seconds
. - I don't think we need to be concerned with this run time, as it will only run in MRs that are updating CI configurations which is a very small portion of MRs.
- The job current takes
-
The job can be skipped with pipeline:skip-ci-validation.
- This has been tested in the following pipeline which does not have the
rspec ci-config-validation
job after label is added: - Ruby 3.2.4 MR [tier:1, types:qa,code,rspec-predictive, opts:skip-ci-validation].
- This has been tested in the following pipeline which does not have the
-
Regarding the danger alerts listed in
CI Jobs Dependency Validation
, I have verified that they are false negatives.
For the future:
- We can also consider parallelization in the future. But since all tests are written in 2 files, we can't parallelize them yet.
Re: #34040 (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.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.