summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* Android: Code signing moduleRaphaël Cotty2021-04-011-0/+1
| | | | | | | | | | | | | | Android.sdk was already signing the apk package but it was using hardcoded debug key and could only be used to run the application locally. The signing part of the android apk/aab package generation is now in the new codesign module. By default the same debug key is used. But it is now also possible to configure a different key. Task-number: QBS-899 Change-Id: I49c54a4d55578c48363805e927392b3a468805f0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not run joblimits in parallel with other testsIvan Komissarov2021-03-251-1/+5
| | | | | | | To avoid concurrent access to QSettings Change-Id: I99e43d0b7cb19352fad4b16abb80fc88b0a11fd0 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* GitHub actions: Run tests with Qt6Ivan Komissarov2021-03-191-0/+53
| | | | | | | On MacOS, Linux and Windows with Qt 6.0.2. Change-Id: I12255d8ba5bb5277378d52a1cc5caca84f0dc98b Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* install-qt.sh: Skip modules that are not existent in requested versionIvan Komissarov2021-03-021-0/+16
| | | | | Change-Id: I1d918c8c56891e980aa862c005eb0b0a6114626a Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Merge branch '1.18'Ivan Komissarov2021-02-191-0/+58
|\ | | | | | | Change-Id: I4e437865514add88558f66420718bc02fb39e41d
| * Add qt4 docker image for basic testingRaphaël Cotty2020-12-181-0/+58
| | | | | | | | | | Change-Id: Ied6d9eac49fcb20de72499ab7c39e83a90a98b75 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | qt6: fix install-qt.sh to support the qt5compat moduleIvan Komissarov2021-02-151-0/+1
| | | | | | | | | | Change-Id: I2d2ba4ce54b4099b44c2f3124128ec87ac422e93 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix installation directory for the QtCreator componentIvan Komissarov2021-02-151-9/+16
| | | | | | | | | | | | | | | | | | | | We have several places (e.g. in docker files) that assume that QtCreator is installed into /opt/Qt/Tools/QtCreator This amends 7f1ee5c871699f89e7fdd741fcd1f0b2167a203b Change-Id: Ifb122c105b95acd18c6e938009fd87529791d16d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Simplify blackbox testRaphaël Cotty2021-01-211-5/+0
| | | | | | | | | | | | | | | | Remove some of the blackbox tests that were redundant in order to avoid timeout cancellation on github. Change-Id: Icc01cd1509c499877e06ccb62afde1b8837faa7d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Make use of mirrors to download QtRichard Weickelt2021-01-211-2/+18
|/ | | | | | | The list is just a random selection. Change-Id: I0835f93bf2b83eb16aa6daee54c40f34dcc58bb4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* cmake: install files when using build-qbs-with-cmake.shIvan Komissarov2020-12-071-1/+2
| | | | | | | This allows to test if install() commands are correct Change-Id: I68085a118b03e6c4095b636f219a60abcc237ee1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* cmake: Fix building documentationIvan Komissarov2020-12-031-1/+9
| | | | | | | | It was never implemented Fixes: QBS-1618 Change-Id: I702410b546cacd439989268d3d4fbb18051d1819 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Install qtcreator from the official release packagesRichard Weickelt2020-11-211-8/+6
| | | | | | | | | | Previously the script used the packages of the online installer. Since all old QtCreator releases have been removed from that repository, we switch to the official release packages which provide .7z files containing prebuilt binaries as well. Change-Id: I5ebf3420ffa25043796f09403ea47cd7f026b602 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Update for Qt 6Raphaël Cotty2020-11-172-6/+20
| | | | | | | | | | Manage the new directory layout of Qt6. Update generation of the input file for androiddeployqt. Fixes: QBS-1613 Fixes: QBS-1609 Change-Id: Ie633fad467f310bfc4cd42e9c32d9cfc2e734582 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* GitHub actions: do not print profiles in scriptIvan Komissarov2020-10-271-2/+0
| | | | | | | We print them in the "Setup Qbs" step Change-Id: Ib523770b9d93882fdab64a7a74a807abbd2cd248 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-tidy: Apply modernize-use-nullptr fix-itIvan Komissarov2020-10-261-1/+1
| | | | | Change-Id: I404ac10a14517763daf656dd38dd560534cbf1fa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* cmake: Remove ccache magicEike Ziller2020-10-201-1/+1
| | | | | | | | | | | Setting the compiler/linker prefix globally heavily interferes with other setups. For example it breaks compiling resources with rc.exe on Windows. Use CMAKE_C_COMPILER_LAUNCHER=ccache and CMAKE_CXX_COMPILER_LAUNCHER=ccache when calling cmake instead. Change-Id: Id7fa7a3ce8b19b658eee0b661c9dfa060c3d62c9 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Use qbs archive for packagingIvan Komissarov2020-09-032-3/+3
| | | | | | | | | | | | This changes the way how the archives are created by the github actions. Previously, the archive was created as a separate aaction, now "qbs archive" product is used. Also, rename the "qbs archive" product to qbs_archive since it is hard to deal with spaces in bash commands. Change-Id: Ia9d0f7004b503b4ce86243cad93dec7c57a9a212 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Initial support for GitHub ActionsIvan Komissarov2020-09-017-10/+128
| | | | | | | | | | This commit adds jobs similar to what we have in Travis. Some tests are disabled when running on GitHub since they do not pass for various reasons. Note that those tests are usually skipped on Travis due to missing dependencies. Change-Id: Icec96dc22e2939d12568d2de1f1a4537c35977ad Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Initial CMake portIvan Komissarov2020-08-171-0/+97
| | | | | | | | | | | | | | | | | | | This change allows to build Qbs using CMake build tool Tested platforms - Linux (gcc) - macOS (clang) - Windows (msvc2017) Missing features (compared to Qbs build) - Documentation build - Bundled QtScript support - Static build - .pc file for qbscore - qbs module for qbscore Change-Id: I09b5dadd6723d5a47e5ef2a9a38d3300488718f2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add basic docker-compose auto-tests configurationDenis Shienkov2020-08-041-0/+52
| | | | | | | | | | | | | | | | This commit adds a basic 'docker-compose' <focal-baremetal> configuration which allows to produce the bare-metal tests. Current docker image contains the following toolchains: * gcc-arm-none-eabi * gcc-avr * gcc-msp430 * sdcc Change-Id: I7e020081dcb763d704c309ffd96fa03b3c56e4fb Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Richard Weickelt <richard@weickelt.de>
* Suppress leaks from QThreadPrivate()Ivan Komissarov2020-06-151-0/+2
| | | | | | | | | | | It looks like there's a leak in Qt code - the QThreadData object is leaking in some obscure cases (or the bug in Qbs is too tricky to be spotted in reasonable time), so suppress those leaks for now. Note that QArrayData::allocate leaks from the posted event list object which is stored in QThreadData too, so this is the same leak. Change-Id: I64a2cce1746ce5565dc79b5a142c7c146e1a7391 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add blackbox examples testIvan Komissarov2020-05-281-1/+0
| | | | | | | | | | It is necessary to build examples with different profiles pretty much like it is done with other tests. Thus, build examples as a separate blackbox test. Change-Id: If4e910fb60a6d51e1a0c690e7a4ece4b17bd5b95 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use md5 tool on macOSRichard Weickelt2020-05-251-2/+3
| | | | | | | | | The md5sum tool is not available on macOS by default. Travis has it, but most systems do not. There is a md5 tool instead, which can produce compatible output. Change-Id: I64c205757effda85920d10a717ecc70e0dad6c91 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Travis: Generate debug information on macOS and Linux onlyRichard Weickelt2020-05-201-1/+0
| | | | | | | | | Generating debug information disables clcache on Windows and results in a 10 minutes longer build time. Change-Id: Ibd13c3017c60d09074ab22b1933acd9a331bd61e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* build-qbs-with-qbs.sh: Add more flexibility for the autotest profileIvan Komissarov2020-05-191-10/+22
| | | | | | | | | | This patchset adds QBS_AUTOTEST_QMAKE_PATH and QBS_AUTOTEST_BASE_PROFILE variables that could be used to configure the profile that is used when running autotests Change-Id: Ifc32d397c08eefb7e8b96cf387031db2ab693cbc Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix copyrightsIvan Komissarov2020-05-121-2/+2
| | | | | | | | In several places, mail was missing. In others, it was incorrectly placed on the 'Contact' line Change-Id: I462301555fe59140f54fd504b5beb37d7c6fca87 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not reinstall Qt if already installedRichard Weickelt2020-05-111-1/+29
| | | | | | | | | | | The server download.qt.io is frequently overloaded. Instead of re-installing Qt every time, try to check if the desired packages are already installed. Utilize Travis' caching meachanism for Qt installations. Change-Id: I4ff1c05b93fd1f0224a7ea4e4869998a21478bfc Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Enable coredumps on macOSRichard Weickelt2020-04-071-0/+2
| | | | | | | | | This patch enables backtraces in case a program crashes during the build/test. We want to see the backtrace of Qbs when it crashes. Change-Id: Ie90f805a68ca9b2d01644b25e81d4d60ab467d0c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* setup-toolchains now sets the qbs.toolchainType, not qbs.toolchainIvan Komissarov2020-03-091-0/+4
| | | | | Change-Id: I21f0626a093db358f8f5dfa6248672c44edc82e2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use python3 in Travis for building docs and running clang-tidyIvan Komissarov2020-02-211-3/+2
| | | | | | Change-Id: I2f0d72abdf12a4e64b79bf9a3c02b32cf4cbeed6 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.15' into masterRichard Weickelt2020-02-051-0/+1
|\ | | | | | | Change-Id: I7e348db380b836221db79c73ea3b5f1d891f114b
| * Fix make-release-archives.batJoerg Bornemann2019-12-181-0/+1
| | | | | | | | | | | | | | We must set enableBundledQt to true, because its default value changed. Change-Id: I1db53db309f82cb46fdd77eb2dad44ee40401386 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Update support to qt 5.14 and multi-arch apks for Qt appsRaphaël Cotty2020-02-041-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before qt 5.14. The profile property "moduleProviders.Qt.qmakeFilePaths" is set with one or more paths to the different android architectures. Each qmake path belongs to a different android architecture installation. So each qmake is used to generated the Qt module corresponding to the architecture. Although qbs can generate multi-arch apks using multiplex mode, this is not possible when the project depends on qt libraries. This is because of the restriction of the qt tool androiddeployqt used by qbs. Now with qt 5.14. All android architectures are installed in the same directory. So the profile property "moduleProviders.Qt.qmakeFilePaths" is set with one qmake path. This directly impacts the qbs-setup-android tool and the generation of the Qt modules. Because qt libraries are installed in the the same directory, they have the abi in their name (libQt5Core_armeabi-v7a.so). So the rules that generate the apks are also impacted. The new androiddeployqt have a new interface (json config file format and requires to have the input libraries installed in the deployment directory) which allows the generation of multi-arch apks. So Qt.android_support modules needs to be updated as well. Fixes: QBS-1497 Change-Id: Ibd546f356c38a05f42dfcac0a4ec92bd82d6f700 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fail travis job if clang-tidy returned non-zero codeIvan Komissarov2020-01-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | The script falsely returned zero code even if clang-tidy reported an error This amends f7117d080ddce4b5f692e3a60ceddc9fe1761888 Change-Id: I6f77bae3304f7bb6ca58c2de29089c3e3d910c1b Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add Docker environment to test Qbs with Qt for AndroidRaphaël Cotty2020-01-101-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Docker images contains ndk r20 and qt 5.13.2 as well as 5.14.0. Containers can be started with the following command line: - docker-compose pull bionic-android-513 - docker-compose run --rm bionic-android-513 The current folder is mounted under /qbs. Assuming that Qbs has been built in the current directory and with release configuration, the autotests can be invoked with: docker-compose run --rm bionic-android-513 scripts/test-qt-for-android.sh \ release/install-root/usr/local/bin A job Travis CI job is added which builds Qt and runs the Android blackbox tests. Change-Id: I76b1901cb7c41f8b5b0122265c99c9b37b59f261 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Print total warnings count created by clang-tidyRichard Weickelt2019-12-121-1/+3
| | | | | | | | | | | | | | | | This makes it a bit easier to compare different patches. Change-Id: I6ac2c981896f1f34e529b9718bf4ccfdab194e14 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Remove duplicate files from compile_commands.json when running analyzerIvan Komissarov2019-12-111-4/+8
| | | | | | | | | | | | | | | | It doesn't make sense to run clang-tidy on the same file multiple times (even though compile flags can be different) Change-Id: Ia6b26e0ec75e798fe10286ab637e039ed7774486 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix setting base profile for the QBS_AUTOTEST_PROFILEIvan Komissarov2019-12-101-4/+7
| | | | | | | | | | | | Change-Id: I37587ea0a691560bc1f37fb4ee2525ef9657e7f0 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Ignore included .moc files when running clang-tidyIvan Komissarov2019-12-091-1/+1
| | | | | | | | | | | | | | | | | | Header-filter regexp was a bit wrong and accepted moc files included in cpp files. This is not desired, since moc files are auto-generated and produce some warnings that cannot be fixed Change-Id: Iedc065f89129ad0f85df17988dc6e050e6edf7d6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Enable clang-tidy job on TravisIvan Komissarov2019-12-051-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This runs predefined clang-tidy checks on the QBS sources, excluding examples and tests Most checks are displayed as warings, however, some checks are treated as errors to avoid adding regressions in the new code clang-analyzer-* checks are not enabled due to performance reasons (otherwise, Travis job hits 50 min) Change-Id: I686003d2526a11d90fc74c88104b4357d67620d1 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Kill the keep-alive background processRichard Weickelt2019-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sleep command in background was not killed although its parent process was. That caused builds on Travis to idle for up to 590s after completion in worst-case. This patch extends the EXIT trap and ensures that the sleep command is killed. There is unfortunately no generic way in Bash to achieve that (without writing lots of convoluted code) because utilities like pkill are not available in Git Bash. Change-Id: Ibbb5683e57c242e58133c1860ec9c921b7e449b7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Enable ccache on Linux/DockerRichard Weickelt2019-11-252-2/+4
| | | | | | | | | | | | | | | | This speeds up CI builds a lot. Change-Id: I53962e1683b4dd923c3a7d254db24164a4e623a6 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Enable cpp.treatWarningsAsErrors when building Qbs on TravisIvan Komissarov2019-11-211-0/+1
| | | | | | | | | | Change-Id: I45a6bbc31a5be8c20b0fe7877e1fc42833e68ddd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix nullpointer access and heap-use-after-free errorJochen Ulrich2019-11-161-0/+1
| | | | | | | | | | | | Task-number: QBS-1485 Change-Id: Id43e997a73ff55c3b438edb553806b61d45a8bdf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Prepare install-qt script for Qt 5.14 Android multi-abi packagesRichard Weickelt2019-11-071-42/+27
|/ | | | | | | | In order to avoid even more if clauses I took the chance and refactored the URL tests. Change-Id: I66df65020f11d62fd737ebb1cadcd27f0aedf73b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Update windowsservercore/DockerfileJoerg Bornemann2019-10-111-1/+1
| | | | | | | | | | | | | | | | | | | - Update qbs to 1.12.1 - Update Qt to 5.12.5 We're not using the installer anymore, because a) the unattended-install-hack doesn't work for newer Qt installers b) newer installers do not provide VS 2015 builds. c) it allows us to tailor the Qt build to our needs in the future. We're not building the documentation on Windows anymore due to the genius move to require libclang for qdoc. That means we need additional twiddling with the packages to add documentation that was built on an usable OS. Task-number: QBS-1438 Change-Id: I77a487562c2f5edd69b8b8a10ef3410ab599dc92 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Switch to Qt installer script in Docker containerRichard Weickelt2019-08-231-0/+7
| | | | | | | | | | | Use the official packages instead of compiling Qt ourselves. This simplifies the Docker image a lot. For accessing the script folder, the Docker context needs to change to the root directory. Thus, we need a .dockerignore file to keep the size of the context low. Change-Id: I58ec8f364feba955518f1eaf5bff234332ae8dec Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Minimal Qt installer scriptRichard Weickelt2019-08-131-0/+298
| | | | | | | | | | | | | | | | | | | | | One of the main problems in virtual environments like Travis CI is how to install Qt and QtCreator. The official installer provided by the Qt Company is almost unusable from command line. It is even harder to select only certain components (especially QtScript). Luckily, all components are available online under http://download.qt.io. This script installs components from the official Qt package repository. It can be used in any bash environment to simplify the setup procedure and supports every valid combination of host OS, target platform (desktop, android, ios) as well as toolchains. Dependencies: - bash - curl - 7z Change-Id: Ia2080cb80df98551332eb02c85c5933fd3bdaa4e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Prevent from 10min timeout on Travis due to long-running testcasesRichard Weickelt2019-08-121-1/+5
| | | | | | | | | | | | | | | | TestBlackbox runs for more than 10 minutes in the Windows environment on Travis and since recently also on Mac OS. This might trigger a non-configurable 10 minutes timeout due to no output generated by Qbs. The official workaround is travis_wait. But it is flawed, because it accumulates all output before it prints something, thus making it impossible to watch the output of a running build. This problem is often not noticed because other tests may run in parallel and produce output. This patch adds a background process which outputs an empty line every 9:50 minutes while running autotests. Change-Id: I0ac5d0f581aabbc0d8641a13e7d207dc84902b95 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>