summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* testwheel.py: Fix examples for 6.5.1Friedemann Kleint2023-04-051-8/+12
| | | | | | | | | | | | Use the new simple browser and the graph gallery with fixed path. Amends d39b43602122bc963bd5a1eb1874bfd0bd05982c. Pick-to: master Task-number: PYSIDE-2247 Task-number: PYSIDE-2206 Change-Id: Ic78bb60b900e55282bd6e2535790e8666ebc2a0a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* testwheel.py: Add designer path from examples passed on cmd lineFriedemann Kleint2023-04-031-1/+14
| | | | | | | Pick-to: master Task-number: PYSIDE-2247 Change-Id: Ifeac9d64059fdf9c25f100ef46557fea6e912f8f Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Add qt/qtdltlogging as a extra repository for qt6Jani Heikkinen2023-03-241-0/+1
| | | | | Change-Id: I2046f74d86cc7584d29f8384368002511358ff57 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* testwheel.py: Restructure and refactorFriedemann Kleint2023-03-221-42/+55
| | | | | | | | Put the deployment into a helper function and fix some flake warnings. Pick-to: master Change-Id: I3309fb2088caa9414a1fd83abcfcc63d91eb6d50 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* testwheel.py: Determine applicable examples from installationFriedemann Kleint2023-03-221-30/+62
| | | | | | | | | | | | Introduce an enumeration to represent the installation type and compile the examples accordingly. Remove a 6.3 special case. Pick-to: master Task-number: PYSIDE-2247 Change-Id: I533b427fc325b562e9c8d9eee6c1064f314a0cba Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* testwheel.py: Cache the result of pip listFriedemann Kleint2023-03-221-10/+18
| | | | | | | | Pick-to: master Task-number: PYSIDE-2247 Change-Id: I6460973524f36c4dbfae99fd75a177e43a99a310 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* testwheel.py: Add an option for the examples directoryFriedemann Kleint2023-03-061-1/+5
| | | | | | | | | | Needs to be specified when examples are removed from the wheels. Pick-to: master Task-number: PYSIDE-2247 Change-Id: Iabff560fcd2381aca1dfbb64895e8366ffdedf9d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* testwheel.py: Modernize a bitFriedemann Kleint2023-03-061-28/+29
| | | | | | | | | | Use f-strings and Path. Pick-to: master Task-number: PYSIDE-2247 Change-Id: Ic35dc97978cce3e6a8821d25b6cc1ede812885af Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add tqtc-qtinsighttracker as a qt6 extra module for branching scriptJani Heikkinen2023-03-021-0/+1
| | | | | | Pick-to: master Change-Id: Ic6ae877be977aa121124db14f1c16b5be690b68d Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Use proper fallbacks for selecting an attention set userDaniel Smith2023-02-102-17/+39
| | | | | | Fixes: QTQAINFRA-5249 Change-Id: I128375501a269d16d1b88474620ca9a9dee97d81 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* Improve attention set handling for new cherry-picksDaniel Smith2023-02-104-83/+138
| | | | | | | | | | | | | | | | | A user may only be added to a change's attention set if the user is an owner, uploader, reviewer, or cc. As the cherry-pick bot owns changes it creates, the original owner must be added to the cherry-pick's reviewer set before attempting to flag them for attention. This action is only performed when a pick has merge conflicts. If the original owner does not have access to tqtc/ repos but the cherry-pick was done to a private repo/branch, a fallback process is necessary to locate a suitable user with appropriate access. Fixes: QTQAINFRA-5157 Fixes: QTQAINFRA-5173 Change-Id: Icb33915cc2e8594ef10fd351f37759323995eefe Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* Create a voting system for use in the Qt Governance ModelDaniel Smith2023-02-107-298/+1262
| | | | | | | | | | | | | | | | | | | | | | | | A simple voting system is needed to provide anonymous, but authenticated voting which limits the voting to users in the Approvers and Maintainers groups within The Qt project. This plugin for the cherry-pick-bot framework provides such a voting system. As a plugin to the framework, it can be enabled and configured on-demand, and then disabled when no longer needed. Votes are stored in a separate table of the cherry-pick-bot's primary database. In order to satisfy GDPR compliance, this database is intended to be be wiped shortly after the voting round completes. Logging/tracing tracks only who votes and when, but does not record votes. If users are not comfortable with using their gerrit API password for authentication, they are directied to email gerrit-admin@qt-project.org to request a personal voting token which will be associated with their gerrit user in the voting database. Change-Id: Ica7792aede21d3eaa51828414afd4ed6805baf40 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* Add functions to Pause and Resume submodule updates per-branchDaniel Smith2023-02-101-13/+200
| | | | | | | | | | | | | | | | | | This functionality allows for remote control of the submodule update jobs' enabled-status. Messages posted to TQtC internal chat by the submodule update bot now have buttons which fire POST messages to endpoints added in this patch, along with a payload containing the relevant branch. Users of the TQtC internal chat can interact with these buttons to contextually pause, resume, or reset (disabled) an update round, or retry failed updates without direct access to the bot host. Includes a new error handler for issues kicking off remote jenkins jobs. Task-number: QTQAINFRA-4594 Change-Id: Ie18c5c3ab0271d1cd5ca490d2dfc68d0a8c28415 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* Improve error handling and retrying of requests to gerritRESTToolsDaniel Smith2023-02-101-26/+26
| | | | | | | | | | | | | | | | | Following the addition of a 10sec timeout on REST requests server-side in gerrit to combat collapse of the server due to DDoS request spam, some legitimate requests from Cherry-pick bot fail. These requests should be retried when a 408: Server Deadline Exceeded message is received from gerrit. This patch implements a minor overhaul of the retry logic on all gerrit requests in the cherry-pick bot code. Axios will now automatically retry network error failures as well as 408 and 409 response codes from gerrit. Fixes: QTQAINFRA-5076 Change-Id: I51862714268d5c42bb54d6f7ed7c3f1896762919 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* Update Cherry-pick bot to handle repos with public lts branchesDaniel Smith2023-02-102-77/+98
| | | | | | | | | | | | | | | Some repos may need to remain fully open-source on LTS branches even though the given LTS branch is tqtc private in other repos. In these cases, the public-only LTS branches should be prefixed with "lts-", and the cherry-pick bot should prefer to use such public LTS branches if they exist and are open for new changes. If there is no public LTS branch, or the public LTS branch is closed, the current fallback logic of trying in tqtc/ repos should apply. Task-number: QTQAINFRA-4978 Change-Id: I572e292ca91008fdb85fde536ada5d30e3c2b444 Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
* Mark some more trivial changes as boringEdward Welbourne2023-01-121-1/+3
| | | | | | | | | | Converting Q_CLANG_QDOC checks back to Q_QDOC is now boring, albeit mostly done now. Many count() methods are now deprecated in favor of their size() peers, so being converted; and qAsConst can be safely replaced by std::as_const(). Change-Id: I9b5742f36b554651ffd054b87012a86af2d31c63 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* remove unused variable in resetboring.pyCristián Maureira-Fredes2023-01-111-1/+1
| | | | | Change-Id: Ie13fe5c11f84fe7111eee07e648a0b5ba5e97a27 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* fullrun: use context managers when opening filesCristián Maureira-Fredes2023-01-112-17/+16
| | | | | | | | | Replacing the 'f = open(...)' by a context manager: 'with open(...) as f:' Change-Id: I8b47f41179ec66185195676eb8ee507cfdf15d2a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: David Skoland <davidskoland@gmail.com>
* fix flake8 warnings from run.pyCristián Maureira-Fredes2023-01-111-14/+29
| | | | | | Change-Id: I81485d0a70bc3b2e19ffab4c543b6fc77eab0a10 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: David Skoland <davidskoland@gmail.com>
* fix flake8 warnings from gitfunctions.pyCristián Maureira-Fredes2023-01-111-5/+6
| | | | | | Change-Id: I3ad241034312b21298b13238d3b1dc97661f0ac9 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: David Skoland <davidskoland@gmail.com>
* testwheel.py: Fix for 5.15Friedemann Kleint2022-12-221-4/+4
| | | | | | | | | | | - Compare installed package names case-insenitively - Move check for option -p (no installer) down, doing the Qt Designer test also in this case Pick-to: master Change-Id: I8dc1d34b2bf98b23fbbb0071c689e1fd12b5c274 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Simo Fält <simo.falt@qt.io>
* Add script to delete release branchesJukka Jokiniva2022-11-281-0/+86
| | | | | | Task-number: QTQAINFRA-3420 Change-Id: If54d215ba68fb927c6863cd6746eb049207e0815 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* testwheel.py: Fix version of new project generation testFriedemann Kleint2022-11-171-1/+1
| | | | | | | | | This is available from 6.5.0 onwards. Amends 351abba272f2927f4068981640d4e722a6fa0f4e. Pick-to: master Change-Id: Ic8b795f5a8c1283ddc33d0949071bfbf2a36249c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* test_tools(): qmlimportscanner fixShyamnath Premnadh2022-11-071-5/+7
| | | | | | | | | | - qmlimportscanner has no --help option - Use --importPath on the current directory as this would return an empty json array Pick-to: master Change-Id: I4f8a8353c179cadbb398fd43bbcef3f44d74f726 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* testwheel.py: List the installed modulesFriedemann Kleint2022-11-031-0/+15
| | | | | | Pick-to: master Change-Id: I7577176a3c23ae453cb833d32d869ef1959a4d66 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* testwheel.py: Test the command line toolsFriedemann Kleint2022-11-021-1/+32
| | | | | | | | Run then with --help and check if that succeeds. Pick-to: master Change-Id: I6ed6f8ba3e4faffac9e650715f0420d88b294367 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* testwheel.py: Test pyside6-deploy with a generated project from 6.4.1 onwardsFriedemann Kleint2022-10-311-1/+24
| | | | | | | Pick-to: master Change-Id: I4285a53fec1783331c8f68d63203902950c500f6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Update Qmlbench runners to build Qt5CompatDaniel Smith2022-10-273-2/+3
| | | | | Change-Id: Ia614deb48921308f3f7b78a8159f7abca8414fd3 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* testwheel.py: Test pyside6-deployFriedemann Kleint2022-10-121-3/+41
| | | | | | Pick-to: master Change-Id: I68c7fdbfbef4834dc55119915463fcf5461638fb Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Use SPDX license identifiersLucie Gérard2022-10-121-38/+2
| | | | | | | | | Ammend : a3e8b45755b70fe0614b35cbc002d634450b9008 a file is still missing Task-number: QTBUG-67283 Change-Id: I8821dee9a0a32f94f500cf2a85f9e9fe9cf80b0d Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* testwheel.py: Adapt to rearranged example structure in 6.4Friedemann Kleint2022-09-161-2/+6
| | | | | | | Pick-to: master Task-number: PYSIDE-841 Change-Id: Id503b1a612a150dfeb362f8a932b8ac854b57218 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add change ID creation directly to the commit messageDaniel Smith2022-09-121-1/+11
| | | | | | | | | | | If hooks are skipped, but --direct is not used, a change-id is still needed in the commit message. Since Qt repos do not allow generation of the change ID at upload time, generate a gerrit-compatible ID and attach it to the commit message during commit. Change-Id: I71089dfda43ea310318219677cbb55523a13f987 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* Add a script to warn about missing pick-to branch targetsDaniel Smith2022-08-291-0/+244
| | | | | | | | | | | | | | | | | | After branching Qt, it is necessary to ensure that all outstanding changes which should target the new branch do so. This script performs an on-demand sanity-check of the Pick-to commit message footer on open changes. The script checks all major branches for outstanding changes, so no configuration following branching is necessary. If a change targets major.current-1, but not major.current branch, a -1 sanity warning with relevant comment will be posted. See also sanity bot update: 125f1520ee41b018888e2e2652a0b1c299f93550 Task-number: QTQAINFRA-5036 Change-Id: I957076ee207d05bbf9324e6f2f637ad93747d51f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-231-1/+1
| | | | | | | Task-number: QTBUG-105718 Change-Id: I644bb8dff7f3338c67d432d7c85ae875f30f0bdd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Ignore changes from qSwap(x, y) to x.swap(y)Edward Welbourne2022-08-051-0/+38
| | | | | | | These necessarily only happen in function bodies, so don't change API. Change-Id: I636ffb94d65ca135dc5a8df59abed926d75cb2f2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix handling of transition to SPDX headersEdward Welbourne2022-08-051-5/+17
| | | | | | | | | | | | | | | The old header extended two lines after the token by which it was recognized, which never mattered before (because changes to the copyright header would still leave it with those two lines at the end) but, of course, they matter now. The precise matching of the end also matters. The conversion to SPDX also added some start-comment markers between the SPDX header and further commentary, where the old header continued on to such, notably in the glgen-generated header files. Task-number: QTQAINFRA-5013 Change-Id: I7b8c3e174a350a3509837f155001b79930f485ca Reviewed-by: Lucie Gerard <lucie.gerard@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Ignore qSwap() being replaced by std::swap() or qt_pointer_swap()Edward Welbourne2022-08-041-0/+2
| | | | | | Change-Id: I0eaab197057c213f58aa3a873baf27b1bd42803a Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix harmonizing of old and new forms with common plausible precursorEdward Welbourne2022-08-011-0/+4
| | | | | | | | | | | | Because skipping Q_DECL_NOTHROW and skipping noexcept are both valid, a line which changed from the former to the latter was shown as having had the former removed. In general, if any of the plausible precurors of the prior and replacement lines coincide, we can just treat the prior line as if it had not changed. Fixes: QTBUG-104417 Change-Id: I5ef8503766575fe0be7361876fa89442bbdd631d Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* Update cherry-pick bot to add users to the Attention SetDaniel Smith2022-07-144-34/+32
| | | | | | | | | | | | | With the gerrit upgrade to 3.3.7, the assignee field is no longer visible in the UI and will be deprecated in the future. This patch updates the bot and its plugins to use the Attention Set instead. Users can be added to the attention set with a reason note. Changes for which a user is tagged on will appear in that user's Gerrit home page as highlighted entries, better bringing attention to them. Task-number: QTQAINFRA-4730 Change-Id: If77cc45cda45f3d90e2bf14883d60a74b1046225 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* Set topic on changes cherry-picked from tqtc/ shadow reposDaniel Smith2022-07-141-43/+104
| | | | | | | | | | | | | | | | | | | When a pick is requested in an LTS branch which resides in a tqtc/ shadow repository, the pick is performed by using the bare sha of the originally merged change in the shadow repo. Changes are not replicated to shadow repos, only git objects, so this limitation is expected. Since git objects do not retain topics as set in gerrit changes, the cherry-pick bot must retrieve the topic from the original change and set it when performing the cherry-pick action in tqtc-private repos. Since this is the same behavior as during a normal cherry-pick via a change anyway, this fix always sets the topic regardless of cherry-pick source with no ill effect. Fixes: QTQAINFRA-4987 Change-Id: I8424ba8c40291b7a003d4e326a4d45da02bb5881 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Ignore QLatin1Char('x') -> u'x' conversionsEdward Welbourne2022-07-081-0/+26
| | | | | | | | | This has happened in many initializers for QChar variables and is boring. Change-Id: I47d15e6ce9a7ff7bd2f87c51f8cb76e847c4d987 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-071-0/+3
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: Ife447433b149060c9a0c055422c6f0e0e323df69 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add a plugin to monitor changes created by cherry-pick-botDaniel Smith2022-06-214-9/+199
| | | | | | | | | | | | | | | | | | | | | | This plugin monitors for new patchsets and integration failures among changes owned by the cherry-pick-bot. When a user who is not the original author uploads a new patchset, this plugin adds the original author or approving reviewer to the attention set of the bot-owned cherry-pick. When a bot-owned cherry-pick fails to integrate, the author of the most recent patchset or of the original change is added to the attention set. This updates the current behavior where the cherry-pick-bot in most cases forgets about a change when it is successfully staged or has a merge conflict. This behavior has sometimes resulted in cherry-picks getting lost, as the cherry-pick-bot becomes the owner of new cherry-pick changes it creates and the original author is never notified of problems. Task-number: QTQAINFRA-4611 Change-Id: I3ab61e38aadb31ff5ce0ab7bf0d13b601340890e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix use of @ignore_headers list from sync.profileEdward Welbourne2022-06-171-1/+1
| | | | | | | | | Its entries only give the basename of the header, without any path, so we need to check the basename of the files read from stdin against its entries, not the whole of the filename read. Change-Id: I2fc856b4a36dc6fe339bdf6ece282a1ea2f7a567 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Change API change review commit summary to name moduleEdward Welbourne2022-06-171-2/+4
| | | | | | | | | | Replace the old WIP marker: it was motivated by a concern that someone might stage the change once +2'd, but that would certainly get a conflict if they did, so this is no real threat. Requested by Jani. Change-Id: I733d7f0aa7a7d7d2bff0c1dad3dd0810c21028f5 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Ignore various trivia in resetboring.pyEdward Welbourne2022-06-171-1/+4
| | | | | | | | | | | QLatin1StringView is a new alias for QLatin1String, Q_FOREVER is going out of fashion and Q_CONSTINIT is coming in. The declarations the last affects are in code used by the API, not actually part of the API whose changes we need to review. Change-Id: Id0a24db5475a282127b0ee0154f5a3ce476f1362 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Add qt/tqtc-qtvncserver in Qt6 extra repositoriesJani Heikkinen2022-06-141-0/+1
| | | | | | | | | | | From Qt 6.4 -> tqtc-qtvncserver will be part of Qt Commercial release and so on we need to take it in branching etc. Pick-to: master Change-Id: I3fbc8bdab11ff776c2a1f88eb3e29e6e211b217d Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io> Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io> Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-08104-3113/+204
| | | | | | | | | | | Replace the current license header in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: master Task-number: QTBUG-67283 Change-Id: I6ae743e055bbf1cf514abe604157068923fb03c6 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Adapt resetboring.py to cope with new-style SPDX copyright headersEdward Welbourne2022-06-021-5/+6
| | | | | | Fixes: QTQAINFRA-5013 Change-Id: I75e9cc8602a5af1a14814784a963cf6e330628ab Reviewed-by: David Skoland <david.skoland@qt.io>
* Add qt/tqtc-android-automotive in Qt6 extra repositoriesJani Heikkinen2022-05-301-0/+1
| | | | | | Pick-to: master Change-Id: I16618bff27f4f70784c916d46973319303c3d0d5 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>