From d591095e7c9e109c5da8a416a555e2c02c9b5eff Mon Sep 17 00:00:00 2001 From: Amir Masoud Abdol Date: Tue, 14 Nov 2023 17:57:39 +0100 Subject: [PATCH] Provisioning: Install jq jq is used during the provisioning of vcpkg ports to extract the version string of packages from vcpkg.json file. Task-number: QTBUG-115715 Change-Id: I73d95b8d8399b25a9aa58855b9d65cac968618fc Reviewed-by: Alexandru Croitor --- .../common/windows/install-jq.ps1 | 31 +++++++++++++++++++ .../04-install-packages.sh | 2 ++ .../04-install-packages.sh | 2 ++ .../02-zypperpackages.sh | 3 ++ .../qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh | 2 ++ .../04-zypperpackages.sh | 3 ++ coin/provisioning/qtci-macos-11-arm/26-jq.sh | 5 +++ .../qtci-macos-11-x86_64/26-jq.sh | 5 +++ coin/provisioning/qtci-macos-12-arm/26-jq.sh | 5 +++ .../qtci-macos-12-x86_64/26-jq.sh | 5 +++ coin/provisioning/qtci-macos-13-arm/26-jq.sh | 5 +++ .../qtci-macos-13-x86_64/26-jq.sh | 5 +++ coin/provisioning/qtci-macos-14-arm/26-jq.sh | 5 +++ .../qtci-macos-14-x86_64/26-jq.sh | 5 +++ .../08-install-jq.ps1 | 1 + .../08-install-jq.ps1 | 1 + .../08-install-jq.ps1 | 1 + .../08-install-jq.ps1 | 1 + 18 files changed, 87 insertions(+) create mode 100644 coin/provisioning/common/windows/install-jq.ps1 create mode 100755 coin/provisioning/qtci-macos-11-arm/26-jq.sh create mode 100755 coin/provisioning/qtci-macos-11-x86_64/26-jq.sh create mode 100755 coin/provisioning/qtci-macos-12-arm/26-jq.sh create mode 100755 coin/provisioning/qtci-macos-12-x86_64/26-jq.sh create mode 100755 coin/provisioning/qtci-macos-13-arm/26-jq.sh create mode 100755 coin/provisioning/qtci-macos-13-x86_64/26-jq.sh create mode 100755 coin/provisioning/qtci-macos-14-arm/26-jq.sh create mode 100755 coin/provisioning/qtci-macos-14-x86_64/26-jq.sh create mode 100644 coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1 create mode 100644 coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1 create mode 100644 coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1 create mode 100644 coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1 diff --git a/coin/provisioning/common/windows/install-jq.ps1 b/coin/provisioning/common/windows/install-jq.ps1 new file mode 100644 index 00000000..6f5bd333 --- /dev/null +++ b/coin/provisioning/common/windows/install-jq.ps1 @@ -0,0 +1,31 @@ +# Copyright (C) 2019 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +. "$PSScriptRoot\helpers.ps1" + +# This script installs jq + +$jqProgram = "jq" +$jqVersion = "1.6" +$jqExeSHA1 = "2b7ae7b902aa251b55f2fd73ad5b067d2215ce78" +$jqInstallLocation = "C:\Utils\jq" +$jqExe = "C:\Windows\Temp\jq.exe" +$jqCacheURL = "\\ci-files01-hki.ci.qt.io\provisioning\jq\jq-win64-$jqVersion.exe" +$jqOfficialURL = "https://github.com/jqlang/jq/releases/download/jq-$jqVersion/jq-win64.exe" + +Download "$jqOfficialURL" "$jqCacheURL" "$jqExe" +Verify-Checksum $jqExe $jqExeSHA1 +New-Item -Path "C:\Utils" -Name "jq" -ItemType "directory" -Force +Move-Item -Path "$jqExe" -Destination "$jqInstallLocation" -Force + +if(![System.IO.File]::Exists("$jqInstallLocation\jq.exe")){ + Write-Host "Can't find $jqInstallLocation\jq.exe." + exit 1 +} + +# Add jq to Path. It is necessary to prepend it to $env:Path as well, to make +# it available during provisioning +Prepend-Path "$jqInstallLocation" +$env:Path = "$jqInstallLocation;$env:Path" + +Write-Output "jq = $jqVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh index 53de563d..01970876 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh @@ -139,6 +139,8 @@ installPackages+=(open-vm-tools) # cifs-utils, for mounting smb drive installPackages+=(keyutils) installPackages+=(cifs-utils) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) sudo yum -y install "${installPackages[@]}" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh index 8f6893de..eef9b26b 100755 --- a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh @@ -146,6 +146,8 @@ installPackages+=(nfs-utils) # cifs-utils, for mounting smb drive installPackages+=(keyutils) installPackages+=(cifs-utils) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) sudo yum -y install "${installPackages[@]}" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh index d1a5ee38..012b841d 100644 --- a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh @@ -90,6 +90,9 @@ sudo zypper -nq update open-vm-tools # Tools to build Git sudo zypper -nq install autoconf libcurl-devel libexpat-devel +# used for reading vcpkg packages version, from vcpkg.json +sudo zypper -nq install jq + # Nodejs - required by QtWebengine sudo zypper -nq install nodejs18 diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh index a121b664..ebb347a2 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh @@ -223,6 +223,8 @@ installPackages+=(keyutils) installPackages+=(cifs-utils) # VxWorks QEMU network setup (tunctl) installPackages+=(uml-utilities) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) echo "Running update for apt" waitLoop diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh index fa248e25..f749962e 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh @@ -66,6 +66,9 @@ sudo zypper -nq install autoconf libcurl-devel libexpat-devel # OpenSSL 3 sudo zypper -nq install openssl-3 +# used for reading vcpkg packages version, from vcpkg.json +sudo zypper -nq install jq + # Valgrind (Needed for testlib selftests) sudo zypper -nq install valgrind-devel diff --git a/coin/provisioning/qtci-macos-11-arm/26-jq.sh b/coin/provisioning/qtci-macos-11-arm/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-12-arm/26-jq.sh b/coin/provisioning/qtci-macos-12-arm/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-13-arm/26-jq.sh b/coin/provisioning/qtci-macos-13-arm/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-14-arm/26-jq.sh b/coin/provisioning/qtci-macos-14-arm/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1"