aboutsummaryrefslogtreecommitdiffstats
path: root/docker
Commit message (Collapse)AuthorAgeFilesLines
* docker: remove Focal imageIvan Komissarov2024-02-272-213/+0
| | | | | Change-Id: I9cc2a4dd7c2baef682cead318d711e7cedb898cc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: update qt4 image to JammyIvan Komissarov2024-02-191-3/+3
| | | | | Change-Id: Ic81ffb3a65ceb0e373b9bc2981ccd6f6b67b5df1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: upgrade baremetal image to JammyIvan Komissarov2024-02-191-2/+2
| | | | | Change-Id: I8881561219215c534ec41261511d3210faa815d6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* GitHub actions: upgrade Android images to JammyIvan Komissarov2024-02-192-4/+4
| | | | | Change-Id: I87101508891fb49237e8a05c6d272b8fc27117d6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: Update static Qt image to JammyIvan Komissarov2024-02-191-14/+14
| | | | | | | As well as GitHub actions job. Change-Id: Ic294a11fa6902f5825a4c73812e1afc0070ffff8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: Add Ubuntu Jammy imageIvan Komissarov2024-02-152-0/+212
| | | | | | | | | | Ubuntu Focal is almost 4 years old now; some packages, like LLVM, are quite old as well - it would be nice to use the same llvm verion that macos github runners use (which is 15, the latest is 17), while only llvm-12 is available on focal. Change-Id: I5f033abb41ab62c58e204307f04b2a224f8e59bf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: update qt static imageIvan Komissarov2023-06-261-5/+8
| | | | | | | ...and install llvm into it to be able to build qdoc Change-Id: I9b468403fe690eed482c379a0c78ed5c1cd6e0a7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add docker image focal-android-650 and workaround armv7 packageRaphael Cotty2023-05-191-0/+8
| | | | | Change-Id: I2a0be7bf2102f738be3fd6b184d21982b359f3b8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* docker: Update focal imagesIvan Komissarov2023-05-061-0/+8
| | | | | Change-Id: Ide8cb42abc270bb691b2f4caff6412531cbaf50a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: update Windows imageIvan Komissarov2023-02-211-9/+9
| | | | | | | | | | | | - install latest vs2019 compiler - install latest win10 SDK - add vswhere to simplify searching VS - update Qt to 6.2.4 - update Qbs to 1.24.0 - drop support for 32-bit packages in choco Change-Id: I0a57baf160307b84e62fea5c56687efcce7fe42c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Switch JavaScript back-endChristian Kandeler2023-02-073-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer clang versions seem to expose serious bugs in QtScript, whose complexity makes it difficult to track them down. We therefore switch to the more light-weight QuickJS, which offers all the features we need (most notably property access interception), as well as good performance. To save some porting effort, we removed the long-deprecated loadFile() and loadExtension() functions. During the porting procedure, we noticed and fixed thread safety issues in artifact access from JS commands. We consider this change important enough to bump the major version, so the next release will be 2.0. Detailed benchmarking data is below. In summary, we see a modest speed- up at the cost of a similarly modest increase in memory consumption (with the exception of project resolving on macOS, which has become a bit slower). Importantly, the increase does not rise with project size, as the comparison of qbs vs Qt Creator shows. Output of qbs_benchmarker on Linux with qbs as test project: ========== Performance data for Resolving ========== Old instruction count: 12870602895 New instruction count: 11923459780 Relative change: -8 % Old peak memory usage: 61775848 Bytes New peak memory usage: 67583424 Bytes Relative change: +9 % ========== Performance data for Rule Execution ========== Old instruction count: 4074062223 New instruction count: 3887473574 Relative change: -5 % Old peak memory usage: 35123704 Bytes New peak memory usage: 38398392 Bytes Relative change: +9 % ========== Performance data for Null Build ========== Old instruction count: 1104417596 New instruction count: 1011033948 Relative change: -9 % Old peak memory usage: 24461824 Bytes New peak memory usage: 25325920 Bytes Relative change: +3 % Output of qbs_benchmarker on Linux with Qt Creator as test project: ========== Performance data for Resolving ========== Old instruction count: 67166450352 New instruction count: 60772791018 Relative change: -10 % Old peak memory usage: 327011616 Bytes New peak memory usage: 343724176 Bytes Relative change: +5 % ========== Performance data for Rule Execution ========== Old instruction count: 71684351183 New instruction count: 67051936965 Relative change: -7 % Old peak memory usage: 374913688 Bytes New peak memory usage: 387790992 Bytes Relative change: +3 % ========== Performance data for Null Build ========== Old instruction count: 8383156078 New instruction count: 7930705668 Relative change: -6 % Old peak memory usage: 180468360 Bytes New peak memory usage: 182490384 Bytes Relative change: +1 % Real-world data building Qt Creator (using qbs --log-time, several runs, removing outliers): macOS: Resolving: 43s -> 47s Rule execution: 17s -> 14s Windows: Resolving: 18s -> 16s Rule execution: 22s -> 17s Fixes: QBS-913 Fixes: QBS-1103 Fixes: QBS-1126 Fixes: QBS-1227 Fixes: QBS-1684 Change-Id: Ie5088155026e85bbd1e303f1c67addb15810a3cb Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Update clang and clang-tidyIvan Komissarov2022-08-251-6/+6
| | | | | | | clang-8 fails to compile Qt 6 code, so update it. Change-Id: Ib0d25c961738ec7549856366b27ef62f87cb910d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Update focal-qt6 image to Qt 6.2.4Ivan Komissarov2022-08-101-1/+1
| | | | | Change-Id: I098072d593d927d52b56e06d48e3fbe018c072a4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: install qdoc into Qt4 imageIvan Komissarov2022-08-051-2/+2
| | | | | Change-Id: Ic0a05c8d97e77f441e6efdd1216715d2479cdb10 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add Qt 6.3 Android image and update ANDROID_PLATFORMRaphael Cotty2022-02-061-1/+1
| | | | | | | | | | | | | Add docker image focal-android-630 and corresponding github action. Update ANDROID_PLATFORM to "android-30" because Qt AndroidManifest uses property allowNativeHeapPointerTagging (QTBUG-97009) since 6.2.1 which was added in API30. Also update android test because bug QTBUG-97834 was solved in Qt 6.3. Change-Id: Id45701433a779d2c6cb8dfdbfb0676e2daad6f88 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add qt6 static docker imageRaphael Cotty2021-11-211-0/+218
| | | | | | | | Add qt6.2 docker image and github action Fixes: QBS-1534 Change-Id: Ia1675697fbd6bcbaabfafc11940bf5cb9447206b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Add android image for Qt 6.2Raphael Cotty2021-10-251-1/+5
| | | | | Change-Id: Ib48209643b755954f0f38c3f1bcfb487e23cf292 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add android testing with different ndk versionsRaphael Cotty2021-09-302-3/+109
| | | | | | | | | | | | | New docker images are added to test different android ndks. Those images don't have Qt so only a subset of the tests are run. So far I added 3 images: r23 (LTS), r21e (LTS) and r19c (minimum one). The other android images also have a new ANDROID_NDK_VERSION argument set to the r23. Change-Id: Iaa7c80b9cac1c7888b3297fac13333d22a9ad0bc Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* docker: update Qbs version to 1.19.2Ivan Komissarov2021-09-281-1/+0
| | | | | | | Also, remove unneeded command Change-Id: I952bd7bc2bf1e5fac9de140ad160b6cd25539b40 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* docker: Add SuseLeap imageIvan Komissarov2021-09-272-0/+192
| | | | | | | | It is nice to have a configured RPM-based distro for local testing. Change-Id: Id6eeae1d0d5bccc27f240f996d6f9ea1b56aa1b0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Correct qt6 testRaphael Cotty2021-04-061-2/+8
| | | | | Change-Id: I1f05ae51f30f0158cb3dec6ce189d96f52987c7a Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add Qt6 docker image and update Qt5 imageIvan Komissarov2021-03-191-1/+2
| | | | | | | ...to add additional packages required for the Qt6 image Change-Id: I42791440eaa754a1ae4ea3c24f86dd0ccedc1ed6 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Merge branch '1.18'Ivan Komissarov2021-02-191-0/+40
|\ | | | | | | Change-Id: I4e437865514add88558f66420718bc02fb39e41d
| * Add qt4 docker image for basic testingRaphaël Cotty2020-12-181-0/+40
| | | | | | | | | | Change-Id: Ied6d9eac49fcb20de72499ab7c39e83a90a98b75 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Add RISC-V 64-bit architecture for GCC compiler to CIDenis Shienkov2021-02-121-1/+2
| | | | | | | | | | Change-Id: Iff317ec5e4a06e9fc9ae4e0a20c6e55656af2855 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add XTENSA architecture for GCC compiler to CIDenis Shienkov2021-02-081-1/+3
|/ | | | | Change-Id: I810f6b6c263a1b5ade0ece35e57f6ad30b2864ed Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Update sdk/ndk/tools versionsRaphaël Cotty2020-11-181-12/+12
| | | | | | | | | build-tools: 29.0.3 NDK: 21.3.6528147 SDK Platform: 29 Change-Id: I6d281aa2e914d7567fa2d57698146465b41838d7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Update for Qt 6Raphaël Cotty2020-11-171-2/+8
| | | | | | | | | | 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>
* Upgrade linux images to Ubuntu 20.04Ivan Komissarov2020-09-144-104/+10
| | | | | Change-Id: I4dcfbe846f7847874908ed8ad84ac615a5a739c1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: Install additional dependencies in the imagesIvan Komissarov2020-08-312-0/+3
| | | | | | | | To be able to run Qbs with sanitizer Change-Id: Ia098a419a001ebbea039281ff20ccbc11198226a Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Initial CMake portIvan Komissarov2020-08-171-0/+2
| | | | | | | | | | | | | | | | | | | 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-042-0/+141
| | | | | | | | | | | | | | | | 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>
* travis: install cap'n'proto packages in Bionic imageIvan Komissarov2020-07-281-0/+2
| | | | | | | This allows to run capnproto tests on Linux Change-Id: I1c500063f13f4aecc16c088f91d3ce790c750abf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Switch to Qt 5.15.0 and drop CI support for MinGW on LinuxRichard Weickelt2020-07-202-118/+17
| | | | | | | | | | | Cross-builds with MinGW on Linux are dropped mainly because of build issues and because MinGW support bloats the resulting Docker image. We have CI jobs running on Windows with MSVC and Clang-cl which should be sufficient. Change-Id: Iac4e0eaf1270844836697bebf52f9c056457caaf Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Add support to generation of aab packageRaphaël Cotty2020-06-251-0/+4
| | | | | | | | | This patch adds the Android.sdk packageType property which sets the target application. By default (previous behavior) qbs generates an apk package. When set to aab, qbs generates instead an aab package Change-Id: Ic09776d08e2a2ecd68fb4c08881201a7a0a25240 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* docker: fix PATH in android imagesIvan Komissarov2020-06-091-1/+1
| | | | | | Change-Id: I5856b6d6edcf37a9af9dada72271caff60f311f2 Reviewed-by: Raphaël Cotty <raphael.cotty@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.16' into masterRichard Weickelt2020-04-153-174/+6
|\ | | | | | | Change-Id: Ie3f341fe18e2ffaf676721748279c6b027590727
| * Use docker-compose exclusively for managing Docker imagesRichard Weickelt2020-03-261-32/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qbs used to have docker products and a module for building the images, but this became obsolet and was superseded by the docker-compose infrastructure. Docker-compose is a much better fit for our use-case (which is mostly CI). It allows us to use unique (and complicated) tags both when building and running the images without exposing that to the user. Unique tags like bionic-5.12.6_1.14.1-2 instead of just bionic ensure that changes in the infrastructure don't suddenly break builds in older branches using the same image. This patch also updates the documentation to emphasize the usage of docker-compose. Change-Id: I45335d37034d10dda5ab5079ee3be1f81cb3e5c5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Remove Debian stretch from Docker build environmentsRichard Weickelt2020-03-242-142/+0
| | | | | | | | | | | | | | | | | | We have not been able to build Qbs with it for a while and it was superseded by Ubuntu Bionic. Change-Id: I8fe0d40baf8f522d4fd0b94a0b403b324c300e74 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Install libgrpc++-dev packages in Bionic imageIvan Komissarov2020-04-021-0/+1
|/ | | | | | | | | This enables autotesting the GRPC test in Travis (otherwise, headers are missing and IncludeProbe fails to find them) Change-Id: I77792a2c5dbfc3f73020b7964cca3274a5165c3c Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Update windowsservercore Docker imageRichard Weickelt2020-03-173-62/+40
| | | | | | | | | | | | | Qt is updated to 5.12.5, MSVC is updated to 2017. Qbs is updated to 1.15.0. Docker-compose is used for managing the image. A unique tag name is used instead of the generic windowsservercore tag to be always able to refer to a specific version. Docker-compose is now used for managing the image. Change-Id: Ia5733992e7692561b1a6e74a4ac2ea3a7a01c4d8 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add OpenGL to bionic-android Docker imageRichard Weickelt2020-02-261-1/+1
| | | | | | | | This is needed to run Qbs binaries created with qbsbuildconfig.enableProjectFileUpdates:true. Change-Id: I9a5f5065df46e90d54bd47d8559fc36cf58fa590 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use python3 in Travis for building docs and running clang-tidyIvan Komissarov2020-02-211-2/+5
| | | | | | Change-Id: I2f0d72abdf12a4e64b79bf9a3c02b32cf4cbeed6 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Install more packages in bionic image to run more testsIvan Komissarov2020-02-101-5/+17
| | | | | | Change-Id: I21691196660a6f5650f6328abe43ec2269a09dbc 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/+107
| | | | | | | | | | | | | | | | | | | | | | 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>
* Update Dockerfile for Ubuntu/bionic to install clang-8Ivan Komissarov2019-12-021-2/+9
| | | | | | | | Requied to be able to run clang-tidy Change-Id: Ie0b6eb3229e8a93ea2e7dd10d75824fb40702fa6 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Enable ccache on Linux/DockerRichard Weickelt2019-11-251-0/+1
| | | | | | | | 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>
* Export the GLIB switch properlyRichard Weickelt2019-10-211-1/+1
| | | | | | | | | The GLIB event dispatcher was disabled in order to work around QTBUG-79020. But the environment variable was not exported properly and hence, the work-around had no effect. Change-Id: I9bad99168456ae734c895db0ed4f46885d6b4d48 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Update windowsservercore/DockerfileJoerg Bornemann2019-10-114-74/+59
| | | | | | | | | | | | | | | | | | | - 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>
* Disable glib event dispatcher in bionic Docker imageRichard Weickelt2019-10-071-0/+3
| | | | | | | | | | | | Disable glib in the bionic Docker image, as the glib event dispatcher leads to deadlocks in TestBlackbox::concurrentExecutor quite often. The problem should hardly occur in practice. This is a work-around until QTBUG-79020 is fixed. Fixes: QBS-1499 Change-Id: I8cecc979b1c13b053c0ee0787cc4bc0a0de8b701 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>