Files
qt5/coin/provisioning/common/linux/testserver/docker_testserver.sh
Ryan Chu 3ae624cd6e Docker Provisioning: Remove the fixed version of package dependencies
Free the dependencies of the specific Ubuntu packages. Ensure that test
server is using the latest version of the Ubuntu packages to test
network changes. Otherwise, all the docker files need to be manually
updated when upgrading to the next Ubuntu version (e.g. 18.04).

For debugging purpose, the installed packaged will be listed in the
provisioning logs.

Change-Id: I38d119d11f33cfd60dc34fcd57ec0fe1615e98f2
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2018-11-22 07:57:53 +00:00

70 lines
3.0 KiB
Bash
Executable File

#!/usr/bin/env bash
#############################################################################
##
## Copyright (C) 2017 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
# 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)
# to launch the corresponding docker containers. If one of the server contexts
# (./apache2, ./danted, ...) gets changes, all the related compose files in
# qtbase should be updated as well.
#
# For example, here's how to get the SHA-1 of apache test server.
# find ./apache2 -type f -print0 | sort -z | xargs -r0 sha1sum | \
# awk '{ print $1 }' | sha1sum | awk '{ print $1 }'
testserver='apache2 squid vsftpd ftp-proxy danted'
for server in $testserver
do
context="${BASH_SOURCE%/*}/$server"
sha1=$(find $context -type f -print0 | sort -z | xargs -r0 sha1sum | awk '{ print $1 }' | \
sha1sum | awk '{ print $1 }')
sudo docker build -t qt-test-server-$server:$sha1 $context
# transition - The fixed tag is temporarily used by CI to pass the qtbase testing.
case $server in
apache2) fixed_tag="cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947" ;;
squid) fixed_tag="577d99307eea9a8cccfec944d25be2bce2fe99cc" ;;
vsftpd) fixed_tag="18896604c7e90b543e56d80c8a8aabdb65a590d0" ;;
ftp-proxy) fixed_tag="2c6c8f1ab6a364b540c43d705fb6f15a585cb2af" ;;
danted) fixed_tag="327dd56c3c35db85b26fac93213a5a1918475bc7" ;;
esac
[ -z "$fixed_tag" ] || \
sudo docker tag qt-test-server-$server:$sha1 qt-test-server-$server:$fixed_tag
done
sudo docker images