| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The top-level LICENSES directory is reserved for standard license texts.
It does not make much sense to complain about spelling there
(for instance licence -> license)
Change-Id: Id6eb682a71d7188a0b36ddf6e8601913f277d611
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
... to flow-control-keyword white-space check, so
if constexpr(foo) {
doesn't go undetected anymore.
Change-Id: I1dbdb5ffd1f1f4e0ce72914d7d75beb3f6c10889
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|
|
|
|
|
| |
Change-Id: Ib24710488f48b0466fe3c222aad996b506c47494
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out Requests will throw an exception if the hostname
cannot be resolved. Handle this error gracefully and fall back.
Further, if we failed to query coin for some reason,
automatic staging should only be disabled for blocking
modules being updated since automatic staging is a global
behavior of the bot.
Change-Id: I2fbb744576dd5ec946f9738875b0bc4ac0191874
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
| |
Change-Id: I6c95069e51bff35f78b1a80bd9cbbf3f2d85d67c
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
| |
In some situations, the bot will request the proposed dependencies.yaml
from a finished module, but this logic uses an incorrect variable and
crashes.
Change-Id: Idd29211edc0b2bee863a5ab03cc41b63000c46c6
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The submodule update bot is not capable of determining
a proper patch-application order for patches to be co-staged
with the submodule update. As a result, some conflicts may be created
due to blindly staging changes. This can be somewhat alleviated
by retrying failed items once before giving up such that
necessary dependencies are staged before the dependent ones.
This brute-force staging method should be suitable for the majority
of cases but may still occasionally result in failed co-staging
when the count of dependent changes is too large.
Change-Id: Idf6bd929eb89b6d6b25f6d0885f225b1a8b83c00
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
| |
A recent update broke the expected format of button payloads.
Update it to create properly formatted JSON strings.
Change-Id: If07df122c7c8090c18c5fabfcc9480c6dda83b13
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bot should watch for state updates of failed modules in the
event they are manually integrated after having been marked
as failed. This patch also introduces an additional repo status
of DONE_FAILED_DEPENDENCY to better differentiate between actual
failed modules, and those which were marked as failed due
to bad dependencies.
Change-Id: I8b949aa32cef109a51d7b53f7bc9942186034959
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
| |
Without pruning, the state file will grow quite large over time.
Add a parameter to allow pruning of all or some branches from the
state file to minimize this issue.
Change-Id: I61155f4aa11a36bfd6da151173fb0b694fc7103a
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
| |
Change-Id: I3d474389c3f91a609aac1296e5f13df00c742ba0
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some repos are better suited to tracking remote branch names
from other projects, rather than following the Qt branching
scheme. When these branches do not conform to \d+.\d+.\d+,
they are not included in the %allHeads of the sanity bot.
As such, attempting to cherry-pick to any of these non-conforming
branches will be given a -2 by the bot since it is unaware of the
branch, even though the pick target is valid.
Provide an option per repo to bypass, allowing non-numeric branches.
Fixes: QTQAINFRA-5449
Change-Id: I6ca7772703572fdcc010f31dc9bacbbf4fa5e6a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTQAINFRA-5306
Change-Id: I9a43bb402f001ea72c58098e3154744e16438c76
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-109394
Change-Id: I96f66922d74316a60a2db91c570ca54ae7839f03
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTQAINFRA-5398
Change-Id: Ia5a5ec3b0cf005ab4271e2418bd4a45743fa9f9c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If a QT_DEPRECATED macro is added anywhere, the uploader should
be reminded to also provide patches which update usages of the
deprecated function.
Task-number: QTQAINFRA-5376
Change-Id: Ie232e54e123da0060a854dedbeecd276322e3410
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
| |
Change-Id: Idc65f649f33ed78e8ddd58d0a124d5b325168f55
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
When these branches are missing from the heads, the sanity bot
wrongly claims "Cherry-pick's source is not an upstream commit"
when picking from an LTS branch to anywhere.
Fixes: QTQAINFRA-5361
Change-Id: I9c35b61ca0f913aa5ec956aa947b928cfe685fba
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
flake8 reported a few issues, and there were other details
we could improve, like using more f-strings, avoiding
breaking some lines with '\' at the end and using round parenthesis
instead, and complicated long lines that could be split a bit.
Some function signatures were also long enough to split them into
one argument per line, in favor to display the type annotation
on the last line
Change-Id: I5f65f6c52ac3f2f36488d26a0cb46b8f7c9fff82
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Add soft dependencies if they are present in the module list.
This fixes a number of issues, for example serialbus not building
modbus since serialport is a soft dependency.
Change-Id: I2a75f7829c5a7fd226a4ef747b563800307e87bd
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
qdoc is always based on clang these days, so Q_CLANG_QDOC can be
reduced to just Q_QDOC.
Change-Id: I56293e37126eeb8bb7b7d74ad1e35016811a3d9c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
| |
Strip the "tqtc-" prefix from the module dependencies.
Change-Id: Ia19302878eb967dda3ac14249c7445a22c36e4ce
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a change targets the latest-1 stable branch, but neglects to
include the current latest, the sanity bot should give a -1
warning with a comment. This situation often arises in changes shortly
after qt branches to a new stable branch, as it's easy to forget the
latest branch target has moved forward.
Task-number: QTQAINFRA-5035
Change-Id: I2067c9b1865bd290183d77e46bca2f491708ca2b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is an implied convention in the Qt project that header files should
use a ".h" extension.
As this might non be known by a contributor (especially if the
contributor is from outside the QtCompany) or escape review, possibly
requiring a bigger amount of work to change later, a new warning in the
commit sanitizer script was included to warn about new files that have
some common header extension that is not ".h".
Change-Id: I83a25d829a63811c08a11f2a337707c62423f699
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
| |
If remote has been configured with separate pushurl, try that first.
Change-Id: I764ed5c4355da54ea0a737aec7feb7048fb5df66
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license header in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Task-number: QTBUG-67283
Change-Id: I385751ca6bdcb72ccf69d5cfefc97acba836135b
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I545effbfc570cd0e2a1e425951da325791d6bbd8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the script is being run with a tqtc/lts-* branch,
this should be consistent across all repos except for
yocto/meta-qt6 which has no tqtc/ shadow repo and tqtc/lts-*
branches. Handle these branches in the public repo instead.
It can be expected that lts branches in the public repo are
always prefixed as lts-*
This change also includes a drive-by fix to ensure the correct
qt5 repo is updated, taking repo prefixes into account.
Change-Id: I6a8360a6ea682d96882d137b834eea11188c758f
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was previously unconditionally set, either to false or to the
branch passed on the command line; but code tests it using
defined($target), which was thus always true. Apparently the intent
was to leave it undefined when no branch was given.
Exposed by configuring my local repositories for picked modules to
have with-pickbot enabled. This script is used as post-commit hook,
passing only one argument, without the extra arguments the Qt Sanity
bot on Gerrit passes, notably the one that supplies $target's value.
The with-pickbot code thus got exercised in a new way, leading to a
bogus warning.
Change-Id: If4e035300d6017a7398e995be96e3dee2a0969ed
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
| |
Change-Id: Icd1c306a5d691cd1888122ed153fd08c0f7234e7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a change is manually merged after the utility has marked it as
failed, the utility should pick up on this so the round can
continue automatically without further user action.
This change also updates calls to any() to directly
pass an iterator rather than computing a value set through
list comprehension.
Change-Id: I18a5511de30e92e4276ef596c8ae2011f297dd63
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Log parsing can fail to decode the response if the content type
is incorrectly set. Due to the storage location of some LTS branch
build/test logs, the files are incorrectly served as binary data.
Ignore these decoding failures, as the storage location for future
logging will set the content type headers correctly.
Change-Id: I2b0bb3a23505a19991f8a49e3a5117cf48d208ca
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
| |
in preparation of supporting both specified (via REST) and unspecified
(via SSH) reviewer types.
Change-Id: I79cf8200d9d9a717e6b65ecd17ead88c39879cec
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
| |
gerrit supports this since v3.2.
Change-Id: Iad03e3c1392ee2d9b2575e9311c5224c19770f25
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... with newer gerrit versions.
using 'gerrit review' they way we did puts gerrit into a weird state
where the named account does not show up in the reviewer/cc list, cannot
be added at all any more, and attempts to remove it (via REST) result in
an internal server error.
so instead use 'gerrit set-reviewers', which works fine, and is actually
what early versions of commit 2ceb3a6a did. however, it has the
limitation that CCs cannot be added.
interestingly enough, using 'set-reviewers' with patchset sha1s triggers
the same bug as 'review' did, so use change keys instead (note that this
workaround is not applicable to 'review', as that inherently requires
sha1s).
Change-Id: Ie039f5a04d3a934d4bf6973a008011cb54305ccc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the script/bot at qt/qtqa/src/qtmoduleupdater
with a more extensible utility. While this utility can be
plugged into an automation host like Jenkins to act as a bot,
it may also be used as a standalone tool to bring any repo's
dependencies up-to-date with qt/qt5.git or dependency repo HEADs.
See the included README.md for further description of
capabilities, use cases and examples.
Task-number: QTQAINFRA-4594
Change-Id: I6e21f90e410044561bfa4d0dfa72cd09687de321
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By popular demand, add the shell script that calls the QtSynchronizeRepo
cmake script.
The script synchronizes submodules that the specified module's revision
depends on, as per dependencies.yaml entries. E.g. calling
$ git qt-sync-to qtmultimedia
will check qtbase, qtdeclarative, qtsvg, ... out as per the dependencies
entries, resulting in a consistent top level source tree up to
qtmultimedia.
Change-Id: I2b20439c49b7973e4e405bfdc6336aadf5dcfbc2
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_source_map_prepare() was never called when no local commits are
present, as analyze_local_branch() exits early in this case.
unfortunately, this skipped the preparation of remote ids and 'new' as
well.
fix by factoring out source_map_validate() and calling it right after
the local branch was determined.
i opted against calling it at the top of analyze_local_branch(), as it
seemed too cryptic, so instead gpick & gpush have their own calls.
Change-Id: Ib8ec9997a127b2e639532b700e0f5f67de1bcdd9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Within bundles we still have a "Contents/MacOS" subdirectory despite
being "incorrect terminology". Use negative look-behind to ignore
"MacOS" if it's preceded by "Contents/".
Change-Id: I1b8d975950f8f5f1cf916fc65f8e99642e71108a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a fix-up for commit 8b17acbfde3c6f86d29e62f5de14e6b9340ac3ce;
it turns out perl5, at least on our current systems, is encoding the
data we're parsing in UTF-8. (Parent commit was tested with
onlinegdb's version of perl, which was using naked Unicode, not UTF-8,
so we may need the Unicode-form of the check, too.)
Task-number: QTQAINFRA-4630
Change-Id: Ic93f9fc1d0cd1d8f6bf6ec1e695454974a84f620
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since gerrit cannot selectively disable display of unicode characters
the sanity bot should give a -2 on any change which includes
blacklisted unicode characters used in the bi-directional override
attack vector. These characters should not appear in any reasonable
code in The Qt Project.
See "Trojan Source: Invisible Vulnerabilities"
Authors: Nicholas Boucher and Ross Anderson, 2021
eprint: 2111.00169
archivePrefix: arXiv
primaryClass: cs.CR
url: https://arxiv.org/abs/2111.00169
Fixes: QTQAINFRA-4630
Change-Id: I1fbec7890239cf7ec6bb5b9f9a2f64b6a13aa60f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change should help ensure that fixes submitted directly
to a release branch (often due to release crunches) make their way
upstream to the stable branch. This check is limited to numerically
versioned branches, 6.2.0 release branch for example has an
upstream stable branch of 6.2.
Change-Id: I17f6576c63a40f89802bad97111560086cce1465
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The user might have set up a remote with a separate push URL, e.g.:
[url "git://code.qt.io/"]
insteadOf = qt-project:
[url "ssh://codereview.qt-project.org/"]
pushInsteadOf = qt-project:
We resolve the Gerrit URL and host in set_gerrit_config(), by taking
insteadOf and pushInsteadOf into account. By using the resolved URL
instead of the remote name when fetching we ensure that we always hit
the Gerrit server. Without this git-gpick will fail.
Change-Id: I580f01b8615c9d9fe5961036b8bb260ef62c8261
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|
|
|
|
|
|
| |
Add a helper script similar to qt5_tool which can build Qt 6
Change-Id: Ic00a94efacd6b7a867ccdcc38b5225d6c501880a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
| |
hints need no overrides by definition.
Change-Id: Idd12ac9d2de56f0ab0c9939bf32814a066fa8d32
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
| |
amends ac9c5658.
Change-Id: I245729457f54a04eeb076ec04296827901fbd612
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|
|
|
|
|
|
|
|
|
| |
The define will never be defined (unless someone explicitly passes
-x to change the language the compiler uses, but we don't do that),
so using the define in C/C++ source files is most likely an error
and will result in dead code.
Change-Id: I1eb578b76b0294ce415fce67e6665388812ae651
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
the commits of the assembled series have Changes assigned only after
filtering+sorting, so we need to query by Change id instead of using
Change links.
amends 143b73c1.
Change-Id: I30984ae86a48ad8d28899a3d5cb437bb2c76d064
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
when we already have the commit in a Change's _pushed ref, we can just
alias it to the fetch ref.
Change-Id: I8ba02fe800223ad8226355df8374f95bdb5a2e60
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
don't alias the ref when we actually already have the PatchSet. this
changes only the debug output, as changing the ref would be simply a
noop. we may now try to visit already visited commits, for which we'll
get corresponding debug output as well.
also sort the keys in the surrounding loop.
Change-Id: I096b69f32964038b20bd1b0e8ca4ec1c33f4725d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|