[Development] Pilot: Automatic Re‑Staging in Gerrit for CI-Unrelated Failures
Axel Spoerl
axel.spoerl at qt.io
Fri Mar 20 13:53:13 CET 2026
TL;DR:
Starting Tuesday, March 24th, we will pilot automatic re‑staging in Gerrit when CI failures when it is fair to assume they are unrelated.
Runs happen at 21:00 and 01:00 CET. Opt‑out available on commit level.
Hi Qt developers,
Starting Tuesday, March 24th, we will roll out a pilot that automatically re‑stages Gerrit commits under a clearly defined set of conditions.
The goal is to reduce manual babysitting of changes that were perfectly fine, but had the misfortune of encountering a flaky CI failure or pairing with a bad commit.
A commit’s latest patchset will be automatically re‑staged if all of the following are true:
* The patchset was staged and its integration failed.
*
QtCIAnalysisBot left a comment indicating that the failure was unrelated to the patch, i.e. recommending a re-stage.
* The patchset has not already been auto‑re‑staged by the tool.
Practical notes:
* The pilot applies to all submodules except qt5.git.
*
Automatic re‑staging runs will occur daily at 21:00 and 01:00 CET. Additional runs may take place as we see need and fit.
* During the pilot, re‑staging will be performed using my personal Gerrit user.
*
Each action will leave a Gerrit comment: “This commit was auto‑restaged.”
*
Committs are eligible for auto-re-stage by default. During the pilot phase, opting in / out works on commit level via a comment.
=> Opt out: Add a comment starting with "auto-restage:off"
=> Opt in (after opt out): Add a comment starting with "auto-restage:on"
Time frame:
The pilot will run for approx. 2 weeks.
Based your feedback and experience made, we will implement a permanent solution.
If you have questions, suggestions, or concerns about the pilot, I’m happy to discuss.
Best regards and have a wonderful weekend,
Axel
PS:
Fun fact for David Faure and Peppe (and anyone else with a healthy appreciation for good APIs):
The auto‑re‑staging tool is written in Qt. It uses a QAbstractItemModel to hold and analyse commit metadata. QAbstractItemModel rocks!
Public
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20260320/94ca4945/attachment.htm>
More information about the Development
mailing list