Commit Graph

22 Commits

Author SHA1 Message Date
Alexandru Croitor
36fe46a392 coin: Explicitly specify Python 3.10 for SBOM processing on Windows
The 'reuse' tool installed into the Python 3.8 environment on Windows
has a broken 'jinja2' package, due to conan being installed
after the sbom tool, which replaces the jinja package. pip reports the
issue but does not actually exit with a non-zero status for some
reason, thus not blocking the initial provisioning.

The jinja2 version installed in the Python 3.10 environment on Windows
is compatible with both conan and reuse.

To work around the issue, explicitly install the sbom tools only for
Python 3.10 on Windows platforms, and specify the path to the Python
interpreter in an environment variable for the build system to use.

Amends 1f2fb6312c

Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I386da17a1902dd26af332cef3482dbcb2221a1b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit e874a76a48)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-31 15:42:20 +01:00
Alexandru Croitor
90c88a451f coin: Add python packages to allow validating Qt generated SBOM files
Add a sbom_requirements.txt file and install it using the
various platform specific pip installations.

Partially restores b87b44168c but
without the wheel cache.

Task-number: QTBUG-122899
Change-Id: I8002898866acbc226ffebb59dcf5b3a58237ea34
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 1f2fb6312c)
2024-06-28 06:24:39 +02:00
Tero Heikkinen
3ac3b7d9f3 Provisioning: Add Windows 11 on ARM as non-blocking in CI
Visual Studio 2022 is the first msvc having natively support for
building and debugging ARM64 apps. [CI Platforms]

Provisioning needed to take new Get-CpuArchitecture
helpers.ps1 function into use in several installations.

Requirements for other branches
- Get-CpuArchitecture helpers.ps1 function
- Skip qtwebengine with Windows 11 ARM (QTBUG-124632)

List of excluded installations in Windows on ARM:

- Could be added later
  - MinGW - QTQAINFRA-6079
  - DirectX SDK for RTA
  - libclang
  - mcuexpresso
  - fbx for msvc2022
  - Ruby
  - For python
    - conan
    - emsdk

- Not supported yet
  - FFmpeg
  - Msys2 (for FFmpeg QTBUG-124399)
  - MySQL
  - PostgreSQL
  - Java JDK
  - Strawberry Perl

Task-number: QTQAINFRA-6109
Task-number: QTQAINFRA-5855
Pick-to: 6.7
Change-Id: I4130e78add53f8a6e05eb41b7617b3f9ca802178
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-05-14 19:47:28 +03:00
Casimir Saastamoinen
23116e7331 Configure pip for internal cache
Task-number: QTQAINFRA-5531
Change-Id: I89c5502f62b2777a06b8f301a9fbaca1a3f8859d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-05 12:06:07 +03:00
Dominik Holland
b87b44168c Provisioning: Remove the special wheel cache for python3 packages
It should be replaced with a global pip cache in the long run.
Removing it should make the maintenance of the required packages easier
as it can be done within the modules instead of in the global
provisioing scripts.

Pick-to: 6.6
Change-Id: Ief9832a8a640ce98325cda015d0a9e89d6cb16af
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-25 15:52:51 +03:00
Lucie Gérard
eecfb19548 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.

Pick-to: 6.5 6.6
Task-number: QTBUG-67283
Task-number: QTBUG-108364
Change-Id: If26e4d35c780db4a7982bb84872b251dad24716e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-12 12:10:41 +00:00
Tony Sarajärvi
58ddf7133c Correct the domain of ci-files01-hki
It's hasn't been .intra.qt.io for quite some time, it
has worked through an alias we have on the DNS server.

Change-Id: I0bc17668dacfea64c276bb553e75e4be16e97659
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-06-12 12:10:26 +00:00
Kai Köhne
becb423e80 Replace LGPL2.1 only header with LGPL3 one
This is in line with e.g. qtbase. Also remove outdated/unreferenced
license files.

Pick-to: 6.3
Change-Id: I5d3370ab453610f9c8165ff9e57db7ad4a785370
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-12-19 19:47:15 +00:00
Allan Sandfeld Jensen
83b4afd584 Add python3 html5lib
Needed for qtwebengine in 6.3

Change-Id: I6dc941fabe4e28e3dce19db8f7812be034be8586
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-11-20 11:13:09 +01:00
Heikki Halmet
4a37ec2dd5 Provisioning: Use Remove function when removing items in Windows
Sometimes items are locked by some windows process so that they can't be
removed. This will fail provisioning instantly.

Let's give the removing process more time by retrying if it will fail
on first attempt

Change-Id: Ic5c16c0d920ed0625d0c6830323d0bc6ba2cd608
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-11-21 10:35:55 +02:00
Simo Fält
969acbce6e Provisioning: Fix PYTHON3_WHEEL_CACHE pointing to wrong dir
Earlier we set the env variable point to latest Python install. It
did work by accident, while the default python was installed as last.
Now each python install has its own matching ENV variable that can
be used buildtime. The PYTHON3_WHEEL_CACHE will now point to 64 bit
default Python3, while the variable is already used in Qt codebase.

Pick-to: 5.15
Change-Id: I6a67936c06ed0209ef9e903120f2416aaa8eb3ff
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-07-30 21:27:48 +03:00
Simo Fält
607b33aab2 Provisioning: Install Python 3.8 for testing Qt for Python
This installs Python 3.8.1 to be used with Qt for Python. It keeps
the old 3.6 as a default python3.

Pick-to: 5.15
Change-Id: I8ea121514f6a4092f700688363c282cbea37a75b
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-07-16 10:10:23 +03:00
Heikki Halmet
0cf3fdabe3 Provisioning: Upgrade Python pip version for Windows machines
Task-number: QTQAINFRA-2564
Change-Id: I10402bb3169b483c71e44db7ecba443eb4f46dc1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-09-17 08:57:18 +00:00
Tony Sarajärvi
413fcafc14 Change 'test suite' in license headers of prov scripts
Change-Id: I9687bcb15b26287ea6eeb2098079137d6e3fc288
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-09-04 08:28:58 +00:00
Joni Jantti
bb6a91d5d4 Provisioning: PyPFD2
Required for QSR documentation.

Task-number: QTQAINFRA-2103
Change-Id: I4da98460fb5d5ad26f9e1e16c503a0d94be047a6
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-08-09 13:30:11 +00:00
Dominik Holland
f9f9e0944d Download and cache needed python wheels during provisioning
Instead of downloading the packages during the compile/configure
step setup a wheel cache folder during the provisioning phase

Task-number: AUTOSUITE-195
Change-Id: I465f1be7cdd351e7680dcd8ae22d5e97ddf8cb2d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-07-31 14:36:41 +00:00
Simo Fält
6c295ac7f0 Provisioning: Install 32 bit python to 64 bit windows
In order to create 32 bit Pyside wheels we have to be able to link
Pyside against 32 bit python. While 32 Qt build is done in 64 bit
Windows Pyside must follow.

Task-number: PYSIDE-646
Change-Id: I30855d4cecd6bc6219021216e9c296d28c56b405
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-06-01 13:21:30 +00:00
Tony Sarajärvi
c7562fa8ef Take proxy into use in python provisioning in windows
Task-number: QTQAINFRA-1669
Change-Id: I2030f244da65e4fd0c3b0be54d941b065f9a180e
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-05-02 19:01:40 +00:00
Heikki Halmet
e3699c5a6f Add missing sw versions to versions.txt
Change-Id: Ifa12b6c6308e4ad73989e7e935061f77ae1823e2
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-04-29 13:21:01 +00:00
Oliver Wolff
cb6709ce5c Unify Windows provisioning scripts & improve error handling
While Coin should also see exit codes != 0 as error, we should
stick to one way of handling script errors. As Power Shell cmdlets
signal an error by throwing an exception we should do the same
(and that approach also works in Coin).

Additionally extracting 7zip files was unified across scripts by
using the existing helper function instead of reinventing the wheel
again and again.

A similar helper function was introduced for starting an external
application (and handling its errors).

Also echo and other "cmd" commands were replaced by their PowerShell
equivalents to have a unified approach across our Windows provisioning
scripts.

Change-Id: I70129ce38692f1396c33c13b33a2918485fa5271
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-02-26 19:52:45 +00:00
Tony Sarajärvi
54d8396d68 Set proxy on Windows VMs while provisioning
Task-number: QTQAINFRA-1669
Change-Id: Ia6b5b668051642a3729d7c7c83c69d8797045847
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-02-23 21:00:11 +00:00
Heikki Halmet
2a28ce864b Split Common folder based on operating system families
This change will split common folder to four different folders:
Linux, Unix, Windows and MacOS. Each of these folders includes scripts
which are common for their operating system familes

Task-number: QTQAINFRA-1451
Change-Id: Ic93b2183052335dee875d1452b21e38d268b6474
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-01-10 07:58:26 +00:00