Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
None
-
None
-
a8686cd56 (dev)
Description
The Submodule Update Bot has been having a number of unexplained issues in recent months. These include picking incorrect shas mid-round and failing to use the correct shas in the qt5 update. Further, the bot is incapable of performing updates to tqtc/* repos, as it is very inflexible about repo prefixes.
Modifying the bot is not practical, as it is written in Go and would require a lot of hacking to diagnose current issues, and update the bot with support for tqtc/* repos. Rewriting the bot provides the opportunity to:
- Use Python. Speed is not important in this bot, and Python is much friendlier to modify than Go in the event the bot needs to be updated in the future.
- Add new features like the ability to rewind a round when a problem requires a fix in trunk module to fix a leaf module, but does not require restarting at qtbase.
- Intelligently select repos to update and use the correct prefix.
- Provide the capability to update repos outside of the qt/qt5 module set, syncing them with current qt5 shas, or performing an update round from scratch but including the non-qt5 module(s).
- Sweep in changes to a submodule update when the bot user account is added as a reviewer on a change, and that change is approved for integration (Code-review: +2).
- Update yocto/meta-qt6 with submodule shas as part of a normal round.
- Remove no longer required submodules from qt5, or remove a dependency from one or modules.