aboutsummaryrefslogtreecommitdiffstats
path: root/docker/windowsservercore
Commit message (Collapse)AuthorAgeFilesLines
* 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-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Switch to Qt 5.15.0 and drop CI support for MinGW on LinuxRichard Weickelt2020-07-201-12/+15
| | | | | | | | | | | 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>
* Update windowsservercore Docker imageRichard Weickelt2020-03-172-61/+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>
* Update windowsservercore/DockerfileJoerg Bornemann2019-10-113-73/+58
| | | | | | | | | | | | | | | | | | | - 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>
* Account for the Qbs docs build now requiring additional dependenciesJake Petroules2018-01-051-0/+4
| | | | | | | | | | | | | | Document it, and install the dependencies in the Docker images. For the man page build, the installed version of the qbs app is now used to get the help text rather than the non-installed version, since the non-installed version may not be able to find all library dependencies (like Qt) on some platforms by default. The build also now depends on the other executables as well since their presence affects the output of qbs --help. Change-Id: Ic9896231aa76a346180bf30f7b2483391f5e4ea0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Update Docker images with the latest softwareJake Petroules2017-12-052-9/+12
| | | | | Change-Id: I360fbab406a0bd82dd0a09462585681625c1539c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Docker image: update to the latest Windows 10 patch releaseJake Petroules2017-09-201-1/+1
| | | | | Change-Id: I59c4e38be62c41577f2953ac7f3cb3c7f2f1eb08 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Docker/Windows: use a simpler workaround for UNC paths in release scriptJake Petroules2017-09-071-1/+1
| | | | | | | | | | This should make release builds faster since all of the source files don't need to be copied to a temporary directory. Qbs is also updated to 1.9 since another bug was fixed in that version which prevented from building when the Qbs sources were located in the root of a drive. Change-Id: I9d333dd0e0bf1fafc72cff093c90f8d0111162b3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Docker: check that the installation of Chocolatey packages succeedsJake Petroules2017-08-221-4/+4
| | | | | | | | | | | | In some versions of Windows with a certain set of patches installed, the Visual C++ Build Tools installer has been observed to fail during initialization but still exit with zero status causing a silent failure. This patch ensures that it won't be possible to build a Docker image where the build tools didn't actually get installed. Change-Id: Ibc90b476dae901651002a3619f7c1dbec38bc51b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Docker image: update to the latest* Windows 10 patch releaseJake Petroules2017-08-221-1/+1
| | | | | | | | | | | | *We actually only update to 10.0.14393.1480 and not 10.0.14393.1593 because at the time of writing, .1593 causes the installation of Visual C++ Build Tools to silently fail. Safeguards against this failure will be provided in a subsequent patch. Change-Id: I3b643592a5948daafc00f84489e54211679666cc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Update Docker image to Windows 10.0.14393.1358, Qt 5.9, and Qbs 1.8.1Jake Petroules2017-07-102-14/+20
| | | | | Change-Id: Ie09780e1674663013aef09ec7ab98095538f0f59 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add a Dockerfile to create a Windows dev environment for QbsJake Petroules2017-06-142-0/+74
This patch includes a Dockerfile that can be used to create a Docker machine image suitable for Qbs development and for creating Qbs release packages. The image produced by this Dockerfile has been uploaded to Docker hub as qtproject/qbswindowsservercore. Developers can either build the Docker image manually using `docker build` (which takes longer) or download the prebuilt image from Docker Hub using `docker pull`. These instructions are also present in the README, along with examples for using Docker in conjunction with the releasing script added in the previous patch in order to create Windows release packages. Change-Id: I4faa969f42dbc57cca929b674c8ca8695767fee3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>