diff options
Diffstat (limited to 'coin')
29 files changed, 248 insertions, 58 deletions
diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml index 4ac899de..b98c451e 100644 --- a/coin/platform_configs/default.yaml +++ b/coin/platform_configs/default.yaml @@ -53,16 +53,6 @@ Configurations: Compiler: 'GCC' Features: ['OutOfSourceBuild', 'Documentation'] Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -R . -qtlibinfix TestInfix -qtnamespace TestNamespace -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib' -- - Template: 'qtci-linux-Ubuntu-18.04-x86_64' - Compiler: 'GCC' - Features: ['DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -no-gui -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib' -- - Template: 'qtci-linux-Ubuntu-18.04-x86_64' - Compiler: 'GCC' - Features: ['DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -no-opengl -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib' - Template: 'qtci-linux-openSUSE-15.0-x86_64' @@ -80,11 +70,6 @@ Configurations: Features: ['Packaging', 'DisableTests'] Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -release -static -nomake tests -nomake examples -no-sql-mysql -no-pch -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -no-feature-thread -xplatform wasm-emscripten' - - Template: 'qtci-linux-SLES-12-x86_64' - Compiler: 'GCC' - Features: ['DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -no-sql-mysql -no-pch -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib' -- Template: 'qtci-linux-SLES-15-x86_64' Compiler: 'GCC' Features: ['DisableTests'] @@ -136,7 +121,7 @@ Configurations: Compiler: 'Clang' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch armeabi-v7a -xplatform android-clang' + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch armeabi-v7a -xplatform android-clang' - Template: 'qtci-linux-RHEL-7.6-x86_64' Target os: 'Android_ANY' @@ -144,7 +129,7 @@ Configurations: Compiler: 'Clang' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch arm64-v8a -xplatform android-clang' + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch arm64-v8a -xplatform android-clang' - Template: 'qtci-linux-Ubuntu-18.04-x86_64' Target os: 'QEMU' diff --git a/coin/platform_configs/meta-boot2qt.yaml b/coin/platform_configs/meta-boot2qt.yaml new file mode 100644 index 00000000..95cc79c4 --- /dev/null +++ b/coin/platform_configs/meta-boot2qt.yaml @@ -0,0 +1,40 @@ +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET1' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET2' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET3' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET4' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET5' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET6' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET7' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET8' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET9' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Compiler: 'Yocto' + Target arch: 'TARGET10' diff --git a/coin/platform_configs/qt5.yaml b/coin/platform_configs/qt5.yaml index 69f1c7e3..f502de7c 100644 --- a/coin/platform_configs/qt5.yaml +++ b/coin/platform_configs/qt5.yaml @@ -15,12 +15,12 @@ Template: 'qtci-windows-7-x86-3' Compiler: 'Mingw73' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -platform win32-g++' + Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -platform win32-g++' - Template: 'qtci-windows-10-x86_64-14' Compiler: 'Mingw73' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++' + Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++' - Template: 'qtci-windows-10-x86_64-14' Target os: 'WinRT_10' @@ -41,7 +41,15 @@ Compiler: 'GCC' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch x86' + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch x86' +- + Template: 'qtci-linux-RHEL-7.6-x86_64' + Target os: 'Android_ANY' + Target arch: 'x86_64' + Compiler: 'GCC' + Target compiler: 'Clang' + Features: ['Packaging', 'DisableTests'] + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch x86_64' - Template: 'qtci-windows-10-x86_64-14' Target os: 'Android_ANY' @@ -49,7 +57,7 @@ Compiler: 'Mingw73' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r19c -android-arch armeabi-v7a' + Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20 -android-arch armeabi-v7a' - Template: 'qtci-windows-10-x86_64-14' Target os: 'Android_ANY' @@ -57,7 +65,7 @@ Compiler: 'Mingw73' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r19c -android-arch arm64-v8a' + Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20 -android-arch arm64-v8a' - Template: 'qtci-windows-10-x86_64-14' Target os: 'Android_ANY' @@ -65,7 +73,15 @@ Compiler: 'Mingw73' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r19c -android-arch x86' + Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20 -android-arch x86' +- + Template: 'qtci-windows-10-x86_64-14' + Target os: 'Android_ANY' + Target arch: 'x86_64' + Compiler: 'Mingw73' + Target compiler: 'Clang' + Features: ['Packaging', 'DisableTests'] + Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20 -android-arch x86_64' - Template: 'qtci-macos-10.13-x86_64-2' Target os: 'Android_ANY' @@ -73,7 +89,7 @@ Compiler: 'Clang' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host darwin-x86_64 -android-arch armeabi-v7a' + Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64 -android-arch armeabi-v7a' - Template: 'qtci-macos-10.13-x86_64-2' Target os: 'Android_ANY' @@ -81,7 +97,7 @@ Compiler: 'Clang' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host darwin-x86_64 -android-arch arm64-v8a' + Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64 -android-arch arm64-v8a' - Template: 'qtci-macos-10.13-x86_64-2' Target os: 'Android_ANY' @@ -89,7 +105,15 @@ Compiler: 'Clang' Target compiler: 'Clang' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host darwin-x86_64 -android-arch x86' + Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64 -android-arch x86' +- + Template: 'qtci-macos-10.13-x86_64-2' + Target os: 'Android_ANY' + Target arch: 'x86_64' + Compiler: 'Clang' + Target compiler: 'Clang' + Features: ['Packaging', 'DisableTests'] + Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64 -android-arch x86_64' - Template: 'qtci-macos-10.13-x86_64-2' Target os: 'QNX_700' diff --git a/coin/platform_configs/qtwebkit.yaml b/coin/platform_configs/qtwebkit.yaml index 49426405..0a1d5d31 100644 --- a/coin/platform_configs/qtwebkit.yaml +++ b/coin/platform_configs/qtwebkit.yaml @@ -2,4 +2,4 @@ Template: 'qtci-windows-7-x86-3' Compiler: 'Mingw73' Features: ['Packaging', 'DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -platform win32-g++' + Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -platform win32-g++' diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 5840d4b4..1e151efe 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -51,13 +51,13 @@ basePath="http://ci-files01-hki.intra.qt.io/input/android" toolsVersion="r26.1.1" toolsFile="sdk-tools-linux-4333796.zip" -ndkVersion="r19c" +ndkVersion="r20" ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip" sdkBuildToolsVersion="28.0.3" sdkApiLevel="android-28" toolsSha1="8c7c28554a32318461802c1291d76fccfafde054" -ndkSha1="fd94d0be6017c6acbd193eb95e09cf4b6f61b834" +ndkSha1="8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff" toolsTargetFile="/tmp/$toolsFile" toolsSourceFile="$basePath/$toolsFile" diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh index 1d9e8419..9be84e38 100755 --- a/coin/provisioning/common/linux/docker.sh +++ b/coin/provisioning/common/linux/docker.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -42,14 +42,15 @@ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubun sudo apt-get update sudo apt-get install docker-ce -y sudo usermod -a -G docker $USER -sudo docker info +sudo docker --version # Download and install the docker-compose extension. sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose +sudo docker-compose --version # Install Avahi to discover Docker containers in the test network sudo apt-get install avahi-daemon -y # Start testserver provisioning -source "${BASH_SOURCE%/*}/docker_testserver.sh" +sudo "$(readlink -f $(dirname ${BASH_SOURCE[0]}))/../shared/testserver/docker_testserver.sh" diff --git a/coin/provisioning/common/shared/testserver/.gitattributes b/coin/provisioning/common/shared/testserver/.gitattributes new file mode 100644 index 00000000..fcadb2cf --- /dev/null +++ b/coin/provisioning/common/shared/testserver/.gitattributes @@ -0,0 +1 @@ +* text eol=lf diff --git a/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile new file mode 100644 index 00000000..dff9fe43 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 +ARG packages="apache2 libcgi-session-perl avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 80 443 diff --git a/coin/provisioning/common/shared/testserver/californium/Dockerfile b/coin/provisioning/common/shared/testserver/californium/Dockerfile new file mode 100644 index 00000000..90722510 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/californium/Dockerfile @@ -0,0 +1,15 @@ +FROM ubuntu:18.04 + +RUN apt-get update && apt-get -y install git maven default-jdk avahi-daemon + +RUN mkdir -p /root/src/ + +# Get californium-based CoAP test server +WORKDIR /root/src +RUN git clone https://github.com/selart/californium.git +WORKDIR /root/src/californium +RUN mvn clean install -q -DskipTests + +WORKDIR / + +EXPOSE 5683/udp 5684/udp diff --git a/coin/provisioning/common/shared/testserver/cyrus/Dockerfile b/coin/provisioning/common/shared/testserver/cyrus/Dockerfile new file mode 100644 index 00000000..55486175 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/cyrus/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:16.04 +ARG packages="cyrus-imapd avahi-daemon" +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y $packages && dpkg -l $packages +EXPOSE 143 993 diff --git a/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile new file mode 100644 index 00000000..2e525ec6 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 +ARG packages="cyrus-imapd avahi-daemon" +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y $packages && dpkg -l $packages +EXPOSE 143 993 diff --git a/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile new file mode 100644 index 00000000..f48794af --- /dev/null +++ b/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 +ARG packages="dante-server avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 1080-1081 diff --git a/coin/provisioning/common/linux/docker_testserver.sh b/coin/provisioning/common/shared/testserver/docker_images.sh index 2d5d9611..e98183d8 100755 --- a/coin/provisioning/common/linux/docker_testserver.sh +++ b/coin/provisioning/common/shared/testserver/docker_images.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -35,14 +35,21 @@ set -ex -case ${BASH_SOURCE[0]} in - */linux/*) SERVER_PATH="${BASH_SOURCE[0]%/linux/*}/shared/testserver" ;; - */*) SERVER_PATH="${BASH_SOURCE[0]%/*}/../shared/testserver" ;; - *) SERVER_PATH="../shared/testserver" ;; +[ -x "$(command -v realpath)" ] && FILE=$(realpath ${BASH_SOURCE[0]}) || FILE=${BASH_SOURCE[0]} +case $FILE in + */*) SERVER_PATH="${FILE%/*}" ;; + *) SERVER_PATH="." ;; esac -# testserver shared scripts -source "$SERVER_PATH/testserver_util.sh" +# Sort files by their SHA-1, and then return the accumulated result +sha1tree () { + # For example, macOS doesn't install sha1sum by default. In such case, it uses shasum instead. + [ -x "$(command -v sha1sum)" ] || SHASUM=shasum + + find "$@" -type f -print0 | \ + xargs -0 ${SHASUM-sha1sum} | cut -d ' ' -f 1 | \ + sort | ${SHASUM-sha1sum} | cut -d ' ' -f 1 +} # Using SHA-1 of each server context as the tag of docker images. A tag labels a # specific image version. It is used by docker compose file (docker-compose.yml) @@ -55,8 +62,7 @@ source "$SERVER_PATH/settings.sh" for server in $testserver do context="$SERVER_PATH/$server" - # Sort files by their SHA-1 and use the accumulated result as the TAG - sudo docker build -t qt-test-server-$server:$(sha1tree $context) $context + docker build -t qt-test-server-$server:$(sha1tree $context) $context done -sudo docker images +docker images diff --git a/coin/provisioning/common/shared/testserver/docker_machine.sh b/coin/provisioning/common/shared/testserver/docker_machine.sh index 601056a4..8d791074 100755 --- a/coin/provisioning/common/shared/testserver/docker_machine.sh +++ b/coin/provisioning/common/shared/testserver/docker_machine.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -40,8 +40,11 @@ TestMachine='qt-test-server' # Deploy docker virtual machine (Boot2Docker) into VirtualBox only if it doesn't exist if [ -z $(docker-machine ls -q --filter "name=$TestMachine") ] then - docker-machine create -d virtualbox $TestMachine + docker-machine create $@ $TestMachine docker-machine ip $TestMachine +else + # Otherwise, start the docker machine and update with new TLS certificates. + docker-machine start $TestMachine && docker-machine regenerate-certs -f $TestMachine fi # Switch the docker engine to $TestMachine diff --git a/coin/provisioning/common/shared/testserver/testserver_util.sh b/coin/provisioning/common/shared/testserver/docker_testserver.sh index c42fb5e0..3a7c87e8 100644..100755 --- a/coin/provisioning/common/shared/testserver/testserver_util.sh +++ b/coin/provisioning/common/shared/testserver/docker_testserver.sh @@ -1,6 +1,8 @@ +#!/usr/bin/env bash + ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -33,9 +35,23 @@ set -ex -# Sort files by their SHA-1, and then return the accumulated result -sha1tree () { - find "$@" -type f -print0 | \ - xargs -0 shasum | cut -d ' ' -f 1 | \ - sort | shasum | cut -d ' ' -f 1 -} +[ -x "$(command -v realpath)" ] && FILE=$(realpath ${BASH_SOURCE[0]}) || FILE=${BASH_SOURCE[0]} +case $FILE in + */*) SERVER_PATH="${FILE%/*}" ;; + *) SERVER_PATH="." ;; +esac + +# Create docker virtual machine (Boot2docker) +case $1 in + VMX) source "$SERVER_PATH/docker_machine.sh" "-d virtualbox" ;; + Hyper-V) + # The Hyper-v has been enabled in Windows 10. Disable checking the hardware virtualization. + source "$SERVER_PATH/docker_machine.sh" "-d virtualbox --virtualbox-no-vtx-check" ;; + *) ;; +esac + +# Display system-wide information of docker-engine +docker info + +# Create images +$SERVER_PATH/docker_images.sh diff --git a/coin/provisioning/common/shared/testserver/echo/Dockerfile b/coin/provisioning/common/shared/testserver/echo/Dockerfile new file mode 100644 index 00000000..653ca714 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/echo/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:16.04 +ARG packages="xinetd avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 7 7/UDP 13 diff --git a/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile new file mode 100644 index 00000000..37f488cb --- /dev/null +++ b/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 +ARG packages="xinetd avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 7 7/UDP 13 diff --git a/coin/provisioning/common/shared/testserver/freecoap/Dockerfile b/coin/provisioning/common/shared/testserver/freecoap/Dockerfile new file mode 100644 index 00000000..2c665bd5 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/freecoap/Dockerfile @@ -0,0 +1,20 @@ +FROM ubuntu:18.04 + +RUN apt-get update && apt-get -y install git avahi-daemon autoconf automake libtool make libgnutls28-dev + +RUN mkdir -p /root/src/ + +# Get FreeCoAP test server +WORKDIR /root/src +RUN git clone https://github.com/keith-cullen/FreeCoAP.git +WORKDIR /root/src/FreeCoAP +RUN autoreconf --install +RUN ./configure +RUN make +RUN make install +WORKDIR /root/src/FreeCoAP/sample/time_server +RUN make + +WORKDIR / + +EXPOSE 5685/udp diff --git a/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile new file mode 100644 index 00000000..0e7146ba --- /dev/null +++ b/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 +ARG packages="ftp-proxy avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 2121 diff --git a/coin/provisioning/common/shared/testserver/iptables/Dockerfile b/coin/provisioning/common/shared/testserver/iptables/Dockerfile new file mode 100644 index 00000000..cbee61d4 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/iptables/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:16.04 +ARG packages="iptables avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 1357 diff --git a/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile new file mode 100644 index 00000000..5865e9c8 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 +ARG packages="iptables avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 1357 diff --git a/coin/provisioning/common/shared/testserver/settings.sh b/coin/provisioning/common/shared/testserver/settings.sh index 041661f2..27832773 100644 --- a/coin/provisioning/common/shared/testserver/settings.sh +++ b/coin/provisioning/common/shared/testserver/settings.sh @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -34,4 +34,5 @@ set -ex # A list of test servers to be provisioned -testserver='apache2 squid vsftpd ftp-proxy danted' +testserver='apache2 squid vsftpd ftp-proxy danted echo cyrus iptables californium freecoap' +testserver="$testserver apache2_18.04 squid_18.04 vsftpd_18.04 ftp-proxy_18.04 danted_18.04 echo_18.04 cyrus_18.04 iptables_18.04" diff --git a/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile new file mode 100644 index 00000000..208feec7 --- /dev/null +++ b/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 +ARG packages="squid avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 3128-3130 diff --git a/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile new file mode 100644 index 00000000..843472fd --- /dev/null +++ b/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:18.04 +ARG packages="vsftpd avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages +EXPOSE 20-21 diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index 981fa51d..fb5c5aab 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -51,7 +51,7 @@ $sha1 = "e9710abf5e95c48ebf47991b10cbb48c09dae102" $destination = "C:\Utils\openssl-android-master" # msys unix style paths -$ndkPath = "/c/Utils/Android/android-ndk-r19c" +$ndkPath = "/c/Utils/Android/android-ndk-r20" $openssl_path = "/c/Utils/openssl-android-master" $cc_path = "$ndkPath/toolchains/llvm/prebuilt/windows-x86_64/bin" Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index def09116..537e14a2 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -40,10 +40,10 @@ # That's why we need to use Andoid-21 API version in Qt 5.9. # NDK -$ndkVersion = "r19c" +$ndkVersion = "r20" $ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86_64.zip" $ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86_64.zip" -$ndkChecksum = "c4cd8c0b6e7618ca0a871a5f24102e40c239f6a3" +$ndkChecksum = "36e1dc77fad08ad2498fb94b13ad8caf26bbd9df" $ndkFolder = "c:\Utils\Android\android-ndk-$ndkVersion" $ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip" diff --git a/coin/provisioning/common/windows/disable-windows-updates.ps1 b/coin/provisioning/common/windows/disable-windows-updates.ps1 index 87414f03..15644cfe 100644 --- a/coin/provisioning/common/windows/disable-windows-updates.ps1 +++ b/coin/provisioning/common/windows/disable-windows-updates.ps1 @@ -33,6 +33,8 @@ # This script disables the automatic Windows updates +. "$PSScriptRoot\helpers.ps1" + $service = get-service wuauserv if (-not $service) { Write-Host "Windows Update service not found." @@ -43,7 +45,7 @@ if ($service.Status -eq "Stopped") { Write-Host "Windows Update service already stopped." } else { Write-Host "Stopping Windows Update service." - Stop-Service -Name "wuauserv" -Force + Retry {Stop-Service -Name "wuauserv" -Force} 20 5 } $startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode" diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index ba35f6b5..100f14ae 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -204,6 +204,38 @@ function Get-Proxy { return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyServer } +function Retry{ + <# + usage: + Retry{CODE} + Retry{CODE} <num of retries> <delay_s> + #delay is in seconds + #> + Param( + [Parameter(mandatory=$true)] + [scriptblock]$command, + [int][ValidateRange(1, 20)]$retry = 5, + [int][ValidateRange(1, 60)]$delay_s = 5 + ) + $success=$false + $retry_count=0 + do{ + try { + Invoke-Command -ScriptBlock $command + $success=$true + } + catch { + $retry_count++ + Write-Host "Error: $_, try: $retry_count, retrying in $delay_s seconds" + Start-Sleep -Seconds $delay_s + } + } until ($success -or $retry+1 -le $retry_count) + + if (-not $success) { + Throw("Failed to run command successfully in $retry_count tries") + } +} + function Remove { Param ( diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh index 544364b0..1886cce3 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh @@ -51,7 +51,7 @@ toolsVersion="r26.1.1" # toolsFile dertermines tools version toolsFile="sdk-tools-darwin-4333796.zip" -ndkVersion="r19c" +ndkVersion="r20" ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" sdkBuildToolsVersion="28.0.3" # this is compile sdk version |