mirror of
git://code.qt.io/qt/qt5.git
synced 2026-03-28 01:09:28 +08:00
If there is an error in emsdk scripts when running ".\emsdk install",
the provisioning would still continue. This change will make the script
exit and stop provisioning when the install command fails.
Also remove the attempt to use Python 2 and make sure the installation
finds Python 3 instead.
Pick-to: 6.8 6.5
Task-number: QTQAINFRA-5453
Change-Id: If052adcd446537b0eeb6261e4a297e9aeb292c6e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 879c8b91f3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
58 lines
1.7 KiB
Bash
Executable File
58 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2023 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
|
|
|
|
# shellcheck source=./SetEnvVar.sh
|
|
source "${BASH_SOURCE%/*}/SetEnvVar.sh"
|
|
|
|
# shellcheck source=./DownloadURL.sh
|
|
source "${BASH_SOURCE%/*}/DownloadURL.sh"
|
|
|
|
version="3.1.56"
|
|
versionNode="v16.20.0"
|
|
tarBallVersion="${version//./_}"
|
|
if uname -a | grep -q Darwin; then
|
|
tarBallPackage="emsdk_macos_${tarBallVersion}.tar.gz"
|
|
sha="24c49db971da4fd7c68f6b71984c3d7775fdfb84"
|
|
else
|
|
tarBallPackage="emsdk_linux_${tarBallVersion}.tar.gz"
|
|
sha="410c93bb2ab3b244190c2cb5f0ff1ce5d6ac4eb5"
|
|
fi
|
|
cacheUrl="https://ci-files01-hki.ci.qt.io/input/emsdk/${tarBallPackage}"
|
|
target="/tmp/${tarBallPackage}"
|
|
|
|
mkdir -p /opt
|
|
cd /opt || exit
|
|
echo "URL: $cacheUrl"
|
|
|
|
if DownloadURL "$cacheUrl" "" "$sha" "$target"; then
|
|
sudo tar -xzf "$target" -C /opt/
|
|
sudo rm -f "$target"
|
|
else
|
|
echo "Emsdk isn't cached. Cloning it"
|
|
sudo git clone https://github.com/emscripten-core/emsdk.git
|
|
cd emsdk || exit
|
|
if ! sudo ./emsdk install "$version"; then
|
|
echo "Error: emsdk installation failed"
|
|
exit 1
|
|
fi
|
|
sudo ./emsdk activate "$version"
|
|
fi
|
|
|
|
# platform-specific toolchain and node binaries. urls obtained from "emsdk install"
|
|
if uname -a | grep -q Darwin; then
|
|
pathNodeExecutable="node-$versionNode-darwin-x64/bin/node"
|
|
else
|
|
pathNodeExecutable="node-$versionNode-linux-x64/bin/node"
|
|
fi
|
|
|
|
emsdkPath="/opt/emsdk/"
|
|
emscriptenPath="${emsdkPath}upstream/emscripten/"
|
|
|
|
SetEnvVar "PATH" "\"\$PATH:${emscriptenPath}\""
|
|
SetEnvVar "EMSCRIPTEN" "${emscriptenPath}"
|
|
SetEnvVar "EMSDK" "${emsdkPath}"
|
|
SetEnvVar "EMSDK_NODE" "${emsdkPath}${pathNodeExecutable}"
|
|
|
|
echo "Emsdk = $version" >> ~/versions.txt
|