CI: everything waits on sanity
What
All jobs that now start immediately after trigger must now also wait
on the jobs in sanity. Also move misc checks, ocaml formatting and
commit titles check to the sanity stage.
Why
To avoid wasting resources for MRs. We've seen of pile-ups recently in the merge trains were one MR with trivial issues, like formatting, disrupt a whole set of MRs, causing costly restart. This problem is compounded by the issue of non-immediate cancels, as discussed in !14297 (merged) which also gives more background on pile-ups.
How
Jobs in GitLab CI can be ordered in two ways:
- Staged jobs (or in-order): normal jobs that run when all the jobs of the preceding stage have terminated.
- Dependent jobs (or out-of-order): these jobs require only that a
subset of preceding jobs have terminated (as specified by a
needs:-clause)
To ensure that dependent jobs wait on sanity jobs, we modify all jobs
that depend on trigger such that they also depend on the sanity jobs.
Manually testing the MR
Just look at the pipeline.
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Arvid Jakobsson