From 3ce85a5f5264e7118beb6524e120fd8b53a13da4 Mon Sep 17 00:00:00 2001 From: Nikolai Kondrashov Date: Tue, 25 Mar 2014 12:01:00 +0200 Subject: Add basic support for CI test execution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add basic support for executing continuous integration (CI) tests on RHEL6, RHEL7, Fedora 20, Fedora Rawhide and Debian Testing. This adds two front-end scripts which can be executed either locally by developers, or on a CI server: contrib/ci/run and contrib/ci/clean. The first one will run the tests and the second will wipe out the artifacts. See contrib/ci/README.md for further details. Reviewed-by: Michal Židek Reviewed-by: Lukáš Slebodník --- contrib/ci/deps.sh | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 contrib/ci/deps.sh (limited to 'contrib/ci/deps.sh') diff --git a/contrib/ci/deps.sh b/contrib/ci/deps.sh new file mode 100644 index 000000000..ba59f7848 --- /dev/null +++ b/contrib/ci/deps.sh @@ -0,0 +1,119 @@ +# +# Dependency management. +# +# Copyright (C) 2014 Red Hat +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +if [ -z ${_DEPS_SH+set} ]; then +declare -r _DEPS_SH= + +. distro.sh + +# Dependency list +declare -a DEPS_LIST=( + lcov + valgrind + xqilla +) + +# True, if all test dependencies are satisfied by the package list +declare DEPS_TESTS_SATISFIED=true + +if [[ "$DISTRO_BRANCH" == -redhat-* ]]; then + declare _DEPS_LIST_SPEC + DEPS_LIST+=( + clang-analyzer + mock + rpm-build + ) + _DEPS_LIST_SPEC=` + sed -e 's/@PACKAGE_VERSION@/0/g' \ + -e 's/@PACKAGE_NAME@/package-name/g' \ + -e 's/@PRERELEASE_VERSION@//g' contrib/sssd.spec.in | + rpm-spec-builddeps /dev/stdin` + readarray -t -O "${#DEPS_LIST[@]}" DEPS_LIST <<<"$_DEPS_LIST_SPEC" + if [[ "$DISTRO_BRANCH" == *-redhatenterprise*-6.*- ]]; then + DEPS_TESTS_SATISFIED=false + fi +fi + +if [[ "$DISTRO_BRANCH" == -debian-* ]]; then + DEPS_LIST+=( + autoconf + automake + autopoint + check + cifs-utils + clang + dh-apparmor + dnsutils + docbook-xml + docbook-xsl + gettext + krb5-config + libaugeas-dev + libc-ares-dev + libcmocka-dev + libcollection-dev + libdbus-1-dev + libdhash-dev + libglib2.0-dev + libini-config-dev + libkeyutils-dev + libkrb5-dev + libldap2-dev + libldb-dev + libltdl-dev + libnl-3-dev + libnl-route-3-dev + libnspr4-dev + libnss3-dev + libpam0g-dev + libpcre3-dev + libpopt-dev + libsasl2-dev + libselinux1-dev + libsemanage1-dev + libsmbclient-dev + libsystemd-journal-dev + libtalloc-dev + libtdb-dev + libtevent-dev + libtool + libxml2-utils + python-dev + samba-dev + systemd + xml-core + xsltproc + ) +fi + +declare -a -r DEPS_LIST +declare -r DEPS_TESTS_SATISFIED + +# Install dependencies. +function deps_install() +{ + distro_pkg_install "${DEPS_LIST[@]}" +} + +# Remove dependencies. +function deps_remove() +{ + distro_pkg_remove "${DEPS_LIST[@]}" +} + +fi # _DEPS_SH -- cgit