aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille-Pekka Karhu <ville-pekka.karhu@qt.io>2021-11-01 14:26:33 +0200
committerHeikki Halmet <heikki.halmet@qt.io>2021-11-16 14:52:03 +0200
commit7e2882d0a7a53ecf4b234a53bf891dfed2291cbe (patch)
tree5994dc2636dd9e1d79ab17bb7045b2d09936183f
parent1b1005038b367af7804094ae5fee4a77bf92884b (diff)
Provisioning: Add macOS Monterey (12) x86 to CI
This will also upgrade Xcode to version 13.1 Task-number: QTQAINFRA-4508 Pick-to: 6.2 Change-Id: Idce56d429b4cd8c7eea3b75e8d91d2f281c0c871 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
-rw-r--r--coin/platform_configs/macos-developer-build-tests.yaml6
-rw-r--r--coin/platform_configs/macos.yaml23
-rwxr-xr-xcoin/provisioning/common/unix/install-openssl.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh41
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh108
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/15-xz.sh52
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/20-java.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/20-xcode.sh53
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh46
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-cmake.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh59
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-mysql.sh58
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-pip.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh57
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-python2.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-python3.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-freetype.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-ninja.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-odbc.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/27-libclang.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/29-libusb.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/30-android.sh94
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/30-fbx.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/35-install_protobuff.sh40
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/35-openssl.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh6
46 files changed, 822 insertions, 2 deletions
diff --git a/coin/platform_configs/macos-developer-build-tests.yaml b/coin/platform_configs/macos-developer-build-tests.yaml
index 660baca2..849d08b1 100644
--- a/coin/platform_configs/macos-developer-build-tests.yaml
+++ b/coin/platform_configs/macos-developer-build-tests.yaml
@@ -22,3 +22,9 @@ Configurations:
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'macos-latest-xcode-x86_64-developer-build'
+ -
+ Id: 'macos-12-x86_64-developer-build-tests'
+ Template: 'qtci-macos-12-x86_64-102'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly']
+ Platform dependency: 'macos-12-latest-xcode-x86_64-developer-build'
diff --git a/coin/platform_configs/macos.yaml b/coin/platform_configs/macos.yaml
index 81ed1a83..39164080 100644
--- a/coin/platform_configs/macos.yaml
+++ b/coin/platform_configs/macos.yaml
@@ -13,6 +13,18 @@ Configurations:
'NON_QTBASE_CONFIGURE_ARGS=-DFEATURE_gds=OFF',
'CONAN_PROFILE=coin/conan/profiles/macos-universal-clang'
]
+ -
+ # This is a universal build containing both x86_64 and arm64 architectures
+ Id: 'macos-12-latest-xcode-universal-packaging-build'
+ Template: 'qtci-macos-12-x86_64-102'
+ Compiler: 'Clang'
+ Target arch: 'x86_64-arm64'
+ Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors']
+ Configure arguments: '-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DQT_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DFEATURE_headersclean=ON -DFEATURE_framework=ON -DODBC_ROOT=/usr/local/opt/libiodbc -DPostgreSQL_ROOT={{.Env.POSTGRESQLBINPATH}}/.. -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}'
+ Environment variables: [
+ 'NON_QTBASE_CONFIGURE_ARGS=-DFEATURE_gds=OFF',
+ 'CONAN_PROFILE=coin/conan/profiles/macos-universal-clang'
+ ]
# Then run tests on all supported deployment targets
-
@@ -44,6 +56,11 @@ Configurations:
Template: 'qtci-macos-12-arm64'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging', 'InsignificantTests']
+ -
+ Id: 'macos-12-x86_64-tests'
+ Template: 'qtci-macos-12-x86_64-102'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-latest-xcode-universal-packaging-build'
# Build x86_64 developer-builds for all modules, but only run tests for qtbase and declarative.
@@ -54,6 +71,12 @@ Configurations:
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors']
Configure arguments: '-DFEATURE_developer_build=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_WITH_PCH=OFF -DFEATURE_framework=OFF -DQT_NAMESPACE=TestNamespace -DQT_BUILD_EXAMPLES=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}'
+ -
+ Id: 'macos-12-latest-xcode-x86_64-developer-build'
+ Template: 'qtci-macos-12-x86_64-102'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors']
+ Configure arguments: '-DFEATURE_developer_build=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_WITH_PCH=OFF -DFEATURE_framework=OFF -DQT_NAMESPACE=TestNamespace -DQT_BUILD_EXAMPLES=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}'
# Build arm64 developer-builds for all modules, and run their tests. This ensures that we have full
# arm64 build and test coverage, regardless of possible issues with the universal build.
diff --git a/coin/provisioning/common/unix/install-openssl.sh b/coin/provisioning/common/unix/install-openssl.sh
index 567d20cb..fed49c6b 100755
--- a/coin/provisioning/common/unix/install-openssl.sh
+++ b/coin/provisioning/common/unix/install-openssl.sh
@@ -37,11 +37,11 @@
# Requires GCC and Perl to be in PATH.
set -ex
os="$1"
+SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-
version="1.1.1k"
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz"
@@ -112,7 +112,7 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then
echo "Making universal OpenSSL package"
# shellcheck disable=SC2024
sudo rm -Rf "$openssl_install_dir"
- sudo ${BASH_SOURCE%/*}/../macos/makeuniversal.sh "$opensslDestdir/x86_64" $opensslDestdir/arm64
+ sudo ${SCRIPT_DIR}/../macos/makeuniversal.sh "$opensslDestdir/x86_64" $opensslDestdir/arm64
fi
path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-12-x86_64/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-12-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-12-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-12-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..abd9ba0d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..739a809d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh
new file mode 100755
index 00000000..2c3e45f3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env sh
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh
new file mode 100755
index 00000000..1195f95a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh
@@ -0,0 +1,108 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2021 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+# This script modified system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all
+set -x
+
+echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime off
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh
new file mode 100755
index 00000000..8461c656
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env sh
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..67e2c1f6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh
new file mode 100755
index 00000000..3c11214d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh
new file mode 100755
index 00000000..6e7c796a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env sh
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh
new file mode 100755
index 00000000..0d609fb5
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-x86_64/20-java.sh b/coin/provisioning/qtci-macos-12-x86_64/20-java.sh
new file mode 100755
index 00000000..dcfcb93b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/20-java.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh
new file mode 100755
index 00000000..b03bb012
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2021 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_13.1.xip 13.1
diff --git a/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh
new file mode 100755
index 00000000..1f73b202
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2021 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="13.1"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName"
+sha1="fe70c0ca223a7ef8a9a53bd4529361fa0fed9eed"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-12-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh
new file mode 100755
index 00000000..4f4d405e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh
new file mode 100755
index 00000000..46d21aaa
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2021 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+. "$(dirname "$0")"/../common/unix/DownloadURL.sh
+
+
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \
+ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \
+ 3210da71e12a699ab3bba43910a6d5fc64b92000 \
+ /tmp/homebrew_install.sh
+
+DownloadURL "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
+{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
+sudo chmod 755 /tmp/homebrew_install.sh
+{ (echo $pw | /tmp/homebrew_install.sh); } 2> /dev/null
+rm -f "/Users/qt/pw"
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh
new file mode 100755
index 00000000..2ec3705f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh
new file mode 100755
index 00000000..86db3e27
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh
new file mode 100755
index 00000000..69cfa6aa
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs PostgreSQL
+
+# PostgreSQL is needed for Qt to be able to support PostgreSQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+psqlVersion="9.6.0"
+
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip"
+AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip"
+SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5"
+appPrefix=""
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
+
+SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin"
+echo "PostgreSQL = $psqlVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh
new file mode 100755
index 00000000..7ebb8825
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/python2.sh
+source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh
new file mode 100755
index 00000000..eb2a4863
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/python3.sh
+source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh
new file mode 100755
index 00000000..0faec4b4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh
new file mode 100755
index 00000000..08428b2f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh
new file mode 100755
index 00000000..2aedfe7b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh
new file mode 100755
index 00000000..15511332
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh
new file mode 100755
index 00000000..f8af516b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh
new file mode 100755
index 00000000..aad628cb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..c9d6e93d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh
new file mode 100755
index 00000000..c58274b6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+
+"$BASEDIR/../common/macos/libusb.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-android.sh b/coin/provisioning/qtci-macos-12-x86_64/30-android.sh
new file mode 100755
index 00000000..283e2b08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/30-android.sh
@@ -0,0 +1,94 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android"
+
+toolsVersion="2.1"
+# toolsFile dertermines tools version
+toolsFile="commandlinetools-mac-6609375_latest.zip"
+
+ndkVersion="r22b"
+ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
+sdkBuildToolsVersion="30.0.3"
+# this is compile sdk version
+sdkApiLevel="android-30"
+
+toolsSourceFile="$basePath/$toolsFile"
+ndkSourceFile="$basePath/$ndkFile"
+
+echo "Unzipping Android NDK to '$targetFolder'"
+sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
+echo "Unzipping Android Tools to '$sdkTargetFolder'"
+sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
+
+echo "Changing ownership of Android files."
+sudo chown -R qt:wheel "$targetFolder"
+
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
+echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
+
+echo "Checking the contents of Android SDK..."
+ls -l "$sdkTargetFolder"
+
+SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder"
+SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
+SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
+
+echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
+echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
+echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
+echo "Android NDK = $ndkVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh
new file mode 100755
index 00000000..34eefeb6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..f1d084fd
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..3b88d526
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/nodejs.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..74dd1579
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuff.sh b/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuff.sh
new file mode 100755
index 00000000..ac9d86ca
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuff.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2020 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuff.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh
new file mode 100755
index 00000000..24d899a8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/install_openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh
new file mode 100755
index 00000000..7396d336
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh
new file mode 100755
index 00000000..920c579c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh
new file mode 100755
index 00000000..17a0c38e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh
new file mode 100755
index 00000000..e34b7381
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/macos/set-locale.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh
new file mode 100755
index 00000000..99d94150
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/macos/macos-version.sh