diff --git a/coin/provisioning/common/macos/python-arm.sh b/coin/provisioning/common/macos/python-arm.sh new file mode 100755 index 00000000..9ae3add4 --- /dev/null +++ b/coin/provisioning/common/macos/python-arm.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +# Copyright (C) 2025 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs python3 on macOS ARM hosts. + +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +# Use 3.12 as a default python +# Note: Make sure that it's a version where dependencies are stored in CI-files. +python_ver="3.12.11" + +export PYTHON_BUILD_MIRROR_URL="https://ci-files01-hki.ci.qt.io/input/python/" +export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1 +pyenv install "$python_ver" + +/Users/qt/.pyenv/versions/$python_ver/bin/pip3 install --user virtualenv wheel html5lib +/Users/qt/.pyenv/versions/$python_ver/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../shared/requirements.txt + +SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/$python_ver/bin/" +SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/$python_ver/bin/" +SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" + +# Provisioning during installation says: +# 'The script sbom2doc is installed in '$HOME/.local/bin' which is not on PATH.' +# hence the explicit assignment to SBOM_PYTHON_APPS_PATH. +SetEnvVar "SBOM_PYTHON_APPS_PATH" "/Users/qt/.local/bin" + +# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements +SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Users/qt/.pyenv/versions/$python_ver/bin/python3" + +echo "python3 = $python_ver" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11-arm/25-python3.sh b/coin/provisioning/qtci-macos-11-arm/25-python3.sh index a3451f0a..bba06cff 100755 --- a/coin/provisioning/qtci-macos-11-arm/25-python3.sh +++ b/coin/provisioning/qtci-macos-11-arm/25-python3.sh @@ -3,20 +3,7 @@ # Copyright (C) 2017 Pelagicore AG # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -# This script installs python3 +set -euox pipefail -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -export PYTHON_BUILD_MIRROR_URL="https://ci-files01-hki.ci.qt.io/input/python/" -export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1 -pyenv install 3.9.7 - -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user virtualenv wheel html5lib - -SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -# Use 3.9 as a default python -SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" - -echo "python3 = 3.9.7" >> ~/versions.txt +# shellcheck source=../common/macos/python-arm.sh +source "${BASH_SOURCE%/*}/../common/macos/python-arm.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/25-python.sh b/coin/provisioning/qtci-macos-12-arm/25-python.sh index 1c5402d7..bba06cff 100755 --- a/coin/provisioning/qtci-macos-12-arm/25-python.sh +++ b/coin/provisioning/qtci-macos-12-arm/25-python.sh @@ -3,29 +3,7 @@ # Copyright (C) 2017 Pelagicore AG # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -# This script installs python3 +set -euox pipefail -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -export PYTHON_BUILD_MIRROR_URL="https://ci-files01-hki.ci.qt.io/input/python/" -export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1 -pyenv install 3.9.7 - -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user virtualenv wheel html5lib -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt - -SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -# Use 3.9 as a default python -SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" - -# Provisioning during installation says: -# 'The script sbom2doc is installed in '$HOME/.local/bin' which is not on PATH.' -# hence the explicit assignment to SBOM_PYTHON_APPS_PATH. -SetEnvVar "SBOM_PYTHON_APPS_PATH" "/Users/qt/.local/bin" - -# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements -SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/python3" - -echo "python3 = 3.9.7" >> ~/versions.txt +# shellcheck source=../common/macos/python-arm.sh +source "${BASH_SOURCE%/*}/../common/macos/python-arm.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/25-python.sh b/coin/provisioning/qtci-macos-13-arm/25-python.sh index 1c5402d7..bba06cff 100755 --- a/coin/provisioning/qtci-macos-13-arm/25-python.sh +++ b/coin/provisioning/qtci-macos-13-arm/25-python.sh @@ -3,29 +3,7 @@ # Copyright (C) 2017 Pelagicore AG # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -# This script installs python3 +set -euox pipefail -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -export PYTHON_BUILD_MIRROR_URL="https://ci-files01-hki.ci.qt.io/input/python/" -export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1 -pyenv install 3.9.7 - -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user virtualenv wheel html5lib -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt - -SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -# Use 3.9 as a default python -SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" - -# Provisioning during installation says: -# 'The script sbom2doc is installed in '$HOME/.local/bin' which is not on PATH.' -# hence the explicit assignment to SBOM_PYTHON_APPS_PATH. -SetEnvVar "SBOM_PYTHON_APPS_PATH" "/Users/qt/.local/bin" - -# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements -SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/python3" - -echo "python3 = 3.9.7" >> ~/versions.txt +# shellcheck source=../common/macos/python-arm.sh +source "${BASH_SOURCE%/*}/../common/macos/python-arm.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/25-python.sh b/coin/provisioning/qtci-macos-14-arm/25-python.sh index 1c5402d7..bba06cff 100755 --- a/coin/provisioning/qtci-macos-14-arm/25-python.sh +++ b/coin/provisioning/qtci-macos-14-arm/25-python.sh @@ -3,29 +3,7 @@ # Copyright (C) 2017 Pelagicore AG # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -# This script installs python3 +set -euox pipefail -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -export PYTHON_BUILD_MIRROR_URL="https://ci-files01-hki.ci.qt.io/input/python/" -export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1 -pyenv install 3.9.7 - -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user virtualenv wheel html5lib -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt - -SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -# Use 3.9 as a default python -SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" - -# Provisioning during installation says: -# 'The script sbom2doc is installed in '$HOME/.local/bin' which is not on PATH.' -# hence the explicit assignment to SBOM_PYTHON_APPS_PATH. -SetEnvVar "SBOM_PYTHON_APPS_PATH" "/Users/qt/.local/bin" - -# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements -SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/python3" - -echo "python3 = 3.9.7" >> ~/versions.txt +# shellcheck source=../common/macos/python-arm.sh +source "${BASH_SOURCE%/*}/../common/macos/python-arm.sh" diff --git a/coin/provisioning/qtci-macos-15-arm/25-python.sh b/coin/provisioning/qtci-macos-15-arm/25-python.sh index e88b6224..06b15bef 100755 --- a/coin/provisioning/qtci-macos-15-arm/25-python.sh +++ b/coin/provisioning/qtci-macos-15-arm/25-python.sh @@ -3,29 +3,7 @@ # Copyright (C) 2017 Pelagicore AG # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -# This script installs python3 +set -euox pipefail -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -export PYTHON_BUILD_MIRROR_URL="https://ci-files01-hki.ci.qt.io/input/python/" -export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1 -pyenv install 3.12.11 - -/Users/qt/.pyenv/versions/3.12.11/bin/pip3 install --user virtualenv wheel html5lib -/Users/qt/.pyenv/versions/3.12.11/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt - -SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.12.11/bin/" -SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.12.11/bin/" -# Use 3.9 as a default python -SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" - -# Provisioning during installation says: -# 'The script sbom2doc is installed in '$HOME/.local/bin' which is not on PATH.' -# hence the explicit assignment to SBOM_PYTHON_APPS_PATH. -SetEnvVar "SBOM_PYTHON_APPS_PATH" "/Users/qt/.local/bin" - -# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements -SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Users/qt/.pyenv/versions/3.12.11/bin/python3" - -echo "python3 = 3.12.11" >> ~/versions.txt +# shellcheck source=../common/macos/python-arm.sh +source "${BASH_SOURCE%/*}/../common/macos/python-arm.sh" diff --git a/coin/provisioning/qtci-macos-26-arm/25-python.sh b/coin/provisioning/qtci-macos-26-arm/25-python.sh index 1c5402d7..bba06cff 100755 --- a/coin/provisioning/qtci-macos-26-arm/25-python.sh +++ b/coin/provisioning/qtci-macos-26-arm/25-python.sh @@ -3,29 +3,7 @@ # Copyright (C) 2017 Pelagicore AG # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -# This script installs python3 +set -euox pipefail -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -export PYTHON_BUILD_MIRROR_URL="https://ci-files01-hki.ci.qt.io/input/python/" -export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1 -pyenv install 3.9.7 - -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user virtualenv wheel html5lib -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt - -SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -# Use 3.9 as a default python -SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" - -# Provisioning during installation says: -# 'The script sbom2doc is installed in '$HOME/.local/bin' which is not on PATH.' -# hence the explicit assignment to SBOM_PYTHON_APPS_PATH. -SetEnvVar "SBOM_PYTHON_APPS_PATH" "/Users/qt/.local/bin" - -# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements -SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/python3" - -echo "python3 = 3.9.7" >> ~/versions.txt +# shellcheck source=../common/macos/python-arm.sh +source "${BASH_SOURCE%/*}/../common/macos/python-arm.sh"