* [LTP] [PATCH 1/3] ver_linux: Print clang version @ 2018-12-19 14:14 Petr Vorel 2018-12-19 14:14 ` [LTP] [PATCH 2/3] ver_linux: Add lsb_release -a Petr Vorel 2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel 0 siblings, 2 replies; 6+ messages in thread From: Petr Vorel @ 2018-12-19 14:14 UTC (permalink / raw) To: ltp Signed-off-by: Petr Vorel <pvorel@suse.cz> --- ver_linux | 1 + 1 file changed, 1 insertion(+) diff --git a/ver_linux b/ver_linux index 897571703..bbc89987b 100755 --- a/ver_linux +++ b/ver_linux @@ -31,6 +31,7 @@ cat /proc/cmdline echo echo "Gnu C " `gcc --version 2>/dev/null | head -n 1` +echo "Clang " `clang --version 2>/dev/null | head -n 1` make --version 2>&1 | awk -F, '{print $1}' | awk \ '/GNU Make/{print "Gnu make ",$NF}' -- 2.19.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [LTP] [PATCH 2/3] ver_linux: Add lsb_release -a 2018-12-19 14:14 [LTP] [PATCH 1/3] ver_linux: Print clang version Petr Vorel @ 2018-12-19 14:14 ` Petr Vorel 2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel 1 sibling, 0 replies; 6+ messages in thread From: Petr Vorel @ 2018-12-19 14:14 UTC (permalink / raw) To: ltp Signed-off-by: Petr Vorel <pvorel@suse.cz> --- ver_linux | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ver_linux b/ver_linux index bbc89987b..f083c0df8 100755 --- a/ver_linux +++ b/ver_linux @@ -19,6 +19,10 @@ if [ $? = 1 ]; then echo '/etc/issue:' cat /etc/issue 2> /dev/null fi +if [ $? = 1 ]; then + echo 'lsb_release -a' + lsb_release -a 2> /dev/null +fi echo echo 'uname:' -- 2.19.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [LTP] [PATCH 3/3] travis: Use docker based builds 2018-12-19 14:14 [LTP] [PATCH 1/3] ver_linux: Print clang version Petr Vorel 2018-12-19 14:14 ` [LTP] [PATCH 2/3] ver_linux: Add lsb_release -a Petr Vorel @ 2018-12-19 14:14 ` Petr Vorel 2018-12-19 14:16 ` Petr Vorel ` (2 more replies) 1 sibling, 3 replies; 6+ messages in thread From: Petr Vorel @ 2018-12-19 14:14 UTC (permalink / raw) To: ltp Previously we used 10 Trusty environment (VM) based travis jobs with different gcc and clang versions installed via ubuntu-toolchain-r apt repository. We agreed that testing just different gcc/clang versions isn't enough, it'd be good to test also different glibc and kernel headers, which are on different distros. Therefore now we test 15 jobs based on various distros (Debian, Ubuntu, Fedora, openSUSE, centOS). We still test both gcc/clang, out-of-tree and cross-compilation builds. Disadvantage of this approach is that it's not obvious compiler and libc version. Travis C testing environment implementation prints compiler version ($CC) before installing actually used compiler via docker. Therefore run ver_linux printing version info and print $CC version in build.sh. Implements: #448 Signed-off-by: Petr Vorel <pvorel@suse.cz> --- Hi, we can keep number of builds to 10 instead of current 15, but not sure which jobs to remove. Kind regards, Petr --- .travis.packages_i386 | 9 -- .travis.packages_native | 18 --- .travis.yml | 143 ++++++------------ build.sh | 12 +- travis/Dockerfile.centos.latest | 5 + travis/Dockerfile.centos6 | 5 + .../Dockerfile.debian.cross-compile.aarch64 | 1 + .../Dockerfile.debian.cross-compile.ppc64le | 1 + travis/Dockerfile.debian.i386 | 1 + travis/Dockerfile.debian.minimal | 1 + travis/Dockerfile.debian.oldstable | 5 + travis/Dockerfile.debian.ppc64le | 5 + travis/Dockerfile.debian.stable | 5 + travis/Dockerfile.debian.testing | 5 + travis/Dockerfile.fedora.latest | 5 + travis/Dockerfile.leap | 5 + travis/Dockerfile.tumbleweed | 5 + travis/Dockerfile.ubuntu.latest | 5 + travis/Dockerfile.ubuntu.xenial | 5 + travis/travis.centos.latest.sh | 1 + travis/travis.centos6.sh | 1 + travis/travis.debian.cross-compile.aarch64.sh | 9 ++ travis/travis.debian.cross-compile.ppc64le.sh | 9 ++ travis/travis.debian.i386.sh | 19 +++ travis/travis.debian.minimal.sh | 21 +++ travis/travis.debian.oldstable.sh | 1 + travis/travis.debian.stable.sh | 35 +++++ travis/travis.debian.testing.sh | 1 + travis/travis.fedora.latest.sh | 12 ++ travis/travis.leap.sh | 1 + travis/travis.sh | 6 + travis/travis.tumbleweed.sh | 21 +++ travis/travis.ubuntu.latest.sh | 1 + travis/travis.ubuntu.xenial.sh | 1 + 34 files changed, 254 insertions(+), 126 deletions(-) delete mode 100644 .travis.packages_i386 delete mode 100644 .travis.packages_native create mode 100644 travis/Dockerfile.centos.latest create mode 100644 travis/Dockerfile.centos6 create mode 120000 travis/Dockerfile.debian.cross-compile.aarch64 create mode 120000 travis/Dockerfile.debian.cross-compile.ppc64le create mode 120000 travis/Dockerfile.debian.i386 create mode 120000 travis/Dockerfile.debian.minimal create mode 100644 travis/Dockerfile.debian.oldstable create mode 100644 travis/Dockerfile.debian.ppc64le create mode 100644 travis/Dockerfile.debian.stable create mode 100644 travis/Dockerfile.debian.testing create mode 100644 travis/Dockerfile.fedora.latest create mode 100644 travis/Dockerfile.leap create mode 100644 travis/Dockerfile.tumbleweed create mode 100644 travis/Dockerfile.ubuntu.latest create mode 100644 travis/Dockerfile.ubuntu.xenial create mode 120000 travis/travis.centos.latest.sh create mode 120000 travis/travis.centos6.sh create mode 100755 travis/travis.debian.cross-compile.aarch64.sh create mode 100755 travis/travis.debian.cross-compile.ppc64le.sh create mode 100755 travis/travis.debian.i386.sh create mode 100755 travis/travis.debian.minimal.sh create mode 120000 travis/travis.debian.oldstable.sh create mode 100755 travis/travis.debian.stable.sh create mode 120000 travis/travis.debian.testing.sh create mode 100755 travis/travis.fedora.latest.sh create mode 120000 travis/travis.leap.sh create mode 100755 travis/travis.sh create mode 100755 travis/travis.tumbleweed.sh create mode 120000 travis/travis.ubuntu.latest.sh create mode 120000 travis/travis.ubuntu.xenial.sh diff --git a/.travis.packages_i386 b/.travis.packages_i386 deleted file mode 100644 index 725329041..000000000 --- a/.travis.packages_i386 +++ /dev/null @@ -1,9 +0,0 @@ -libacl1:i386 -libaio1:i386 -libcap2:i386 -libc6-dev-i386 -libc6:i386 -libkeyutils1:i386 -libnuma1:i386 -libssl-dev:i386 -libtirpc1:i386 diff --git a/.travis.packages_native b/.travis.packages_native deleted file mode 100644 index d9e1a2acc..000000000 --- a/.travis.packages_native +++ /dev/null @@ -1,18 +0,0 @@ -libacl1 -libacl1-dev -libaio-dev -libaio1 -libcap-dev -libcap2 -libc6 -libc6-dev -libkeyutils-dev -libkeyutils1 -libmm-dev -libnuma-dev -libnuma1 -libselinux1-dev -libsepol1-dev -libssl-dev -libtirpc1 -linux-libc-dev diff --git a/.travis.yml b/.travis.yml index 078028f9b..fe8e901fb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,124 +1,73 @@ +sudo: required language: c - -# BUILD="native": native builds -# BUILD="32": 32-bit builds -# BUILD="cross": cross compile build -# TREE="out": out-of-tree build -# NO INSTALL_PACKAGES variable: build with minimal dependencies +services: + - docker matrix: include: - ### native builds ### + # 32 bit build - os: linux - env: BUILD="native" INSTALL_PACKAGES="$BUILD" - compiler: gcc-5 - addons: - apt: - sources: ['ubuntu-toolchain-r-test'] - packages: ['gcc-5'] + env: DISTRO=debian.i386 BUILD="32" + compiler: gcc + # cross compilation builds + - os: linux + env: DISTRO=debian.cross-compile.ppc64le TREE="out" BUILD="cross" + compiler: powerpc64le-linux-gnu-gcc - os: linux - env: BUILD="native" TREE="out" INSTALL_PACKAGES="$BUILD" - compiler: gcc-7 - addons: - apt: - sources: ['ubuntu-toolchain-r-test'] - packages: ['gcc-7'] + env: DISTRO=debian.cross-compile.aarch64 TREE="out" BUILD="cross" + compiler: aarch64-linux-gnu-gcc + # build with minimal dependencies - os: linux - env: BUILD="native" TREE="out" - compiler: clang-4.0 - addons: - apt: - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0'] - packages: ['clang-4.0'] + env: DISTRO=debian.minimal TREE="out" + compiler: clang - os: linux - env: BUILD="native" INSTALL_PACKAGES="$BUILD" - compiler: clang-5.0 - addons: - apt: - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0'] - packages: ['clang-5.0'] + env: DISTRO=debian.testing + compiler: gcc + - os: linux + env: DISTRO=debian.testing + compiler: clang - os: linux - env: BUILD="native" - compiler: clang-3.9 - addons: - apt: - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.9'] - packages: ['clang-3.9'] + env: DISTRO=debian.oldstable + compiler: gcc + - os: linux + env: DISTRO=debian.oldstable + compiler: clang - ### 32-bit builds ### - os: linux - env: BUILD="32" INSTALL_PACKAGES="$BUILD" - compiler: gcc-4.9 - addons: - apt: - sources: ['ubuntu-toolchain-r-test'] - packages: ['gcc-4.9', 'gcc-4.9-multilib', 'linux-libc-dev:i386'] + env: DISTRO=ubuntu.latest TREE="out" + compiler: gcc - os: linux - env: BUILD="32" TREE="out" INSTALL_PACKAGES="$BUILD" - compiler: gcc-6 - addons: - apt: - sources: ['ubuntu-toolchain-r-test'] - packages: ['gcc-6', 'gcc-6-multilib', 'linux-libc-dev:i386'] + env: DISTRO=ubuntu.xenial + compiler: gcc - ### cross-compile builds ### - os: linux - env: BUILD="cross" INSTALL_PACKAGES="$BUILD" - compiler: arm-linux-gnueabihf-gcc - addons: - apt: - packages: ['gcc-arm-linux-gnueabihf', 'libc6-dev-armhf-cross'] + env: DISTRO=tumbleweed + compiler: gcc - os: linux - env: BUILD="cross" TREE="out" INSTALL_PACKAGES="$BUILD" - compiler: aarch64-linux-gnu-gcc - addons: - apt: - packages: ['gcc-aarch64-linux-gnu', 'libc6-dev-arm64-cross'] + env: DISTRO=leap + compiler: gcc - os: linux - env: BUILD="cross" TREE="out" - compiler: powerpc64le-linux-gnu-gcc - addons: - apt: - packages: ['gcc-powerpc64le-linux-gnu', 'libc6-dev-ppc64el-cross'] + env: DISTRO=fedora.latest + compiler: clang -notifications: - email: - secure: "b/xcA/K5OyQvPPnd0PRahTH5LJu8lgz8goGHvhXpHo+ZPsPgTDXNFo5cX9fSOkMuFKeoW8iGl0wOgK2+ptc8mbYDw277K4RFIHRHeV/KIoE1EzjQnEFiL8J0oHCAvDj12o0AXeriTyY9gICXKbR31Br6Zh5eKViDJe2OAGeHeDU=" + - os: linux + env: DISTRO=centos.latest + compiler: gcc + - os: linux + env: DISTRO=centos6 TREE="out" + compiler: gcc before_install: - # travis-ci/travis-ci#9112: remove all third party repositories except ubuntu-toolchain-r-test - - if [ -f /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list ]; then - cp -v /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list /tmp - ; fi - - sudo rm -fv /etc/apt/sources.list.d/* - - if [ -f /tmp/ubuntu-toolchain-r-test*.list ]; then - sudo cp -v /tmp/ubuntu-toolchain-r-test*.list /etc/apt/sources.list.d/ - ; fi - - # workaround apt related for error: - # Err:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu trusty InRelease - # The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1E9377A2BA9EF27F - - sudo apt update -o Acquire::Retries=100 -o Acquire::http::Timeout="60" -o Acquire::AllowInsecureRepositories=true -o Acquire::AllowDowngradeToInsecureRepositories=true - - # installing / removing dependencies - - if [ "$INSTALL_PACKAGES" = "" ]; then - sudo apt remove $(cat .travis.packages_native | grep -v -e 'libc6' -e 'libc6-dev' -e 'linux-libc-dev' -e 'libacl1') - ; else - sudo apt install -qq $(cat .travis.packages_native) - ; fi - - - if [ "$INSTALL_PACKAGES" = "32" ]; then - sudo apt install -qq $(cat .travis.packages_i386) - ; fi - - if [ ! "$TREE" ]; then - TREE="in" - ; fi + - docker build -f travis/Dockerfile.$DISTRO -t ltp . -script: ./build.sh -o $TREE -t $BUILD -c $CC +script: + - if [ ! "$TREE" ]; then TREE="in"; fi + - if [ ! "$BUILD" ]; then BUILD="native"; fi + - docker run -it ltp /bin/sh -c "cd travis && ./travis.$DISTRO.sh && ../build.sh -o $TREE -t $BUILD -c $CC" diff --git a/build.sh b/build.sh index 4e8357982..ae3b86ff2 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (c) 2017 Petr Vorel <pvorel@suse.cz> +# Copyright (c) 2017-2018 Petr Vorel <pvorel@suse.cz> # Script for travis builds. # # TODO: Implement comparison of installed files. List of installed files can @@ -16,7 +16,7 @@ CONFIGURE_OPTS_IN_TREE="--with-open-posix-testsuite --with-realtime-testsuite" # TODO: open posix testsuite is currently broken in out-tree-build. Enable it once it's fixed. CONFIGURE_OPTS_OUT_TREE="--with-realtime-testsuite" MAKE_OPTS="-j$(getconf _NPROCESSORS_ONLN)" -CC= +CC=gcc build_32() { @@ -152,4 +152,12 @@ while getopts "c:ho:p:t:" opt; do done cd `dirname $0` + +echo "=== ver_linux ===" +./ver_linux +echo + +echo "=== compiler version ===" +$CC --version + eval build_$build $tree diff --git a/travis/Dockerfile.centos.latest b/travis/Dockerfile.centos.latest new file mode 100644 index 000000000..35741009a --- /dev/null +++ b/travis/Dockerfile.centos.latest @@ -0,0 +1,5 @@ +FROM centos:latest + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.centos6 b/travis/Dockerfile.centos6 new file mode 100644 index 000000000..cbc7660ed --- /dev/null +++ b/travis/Dockerfile.centos6 @@ -0,0 +1,5 @@ +FROM centos:6 + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.debian.cross-compile.aarch64 b/travis/Dockerfile.debian.cross-compile.aarch64 new file mode 120000 index 000000000..0695d8fef --- /dev/null +++ b/travis/Dockerfile.debian.cross-compile.aarch64 @@ -0,0 +1 @@ +Dockerfile.debian.stable \ No newline at end of file diff --git a/travis/Dockerfile.debian.cross-compile.ppc64le b/travis/Dockerfile.debian.cross-compile.ppc64le new file mode 120000 index 000000000..0695d8fef --- /dev/null +++ b/travis/Dockerfile.debian.cross-compile.ppc64le @@ -0,0 +1 @@ +Dockerfile.debian.stable \ No newline at end of file diff --git a/travis/Dockerfile.debian.i386 b/travis/Dockerfile.debian.i386 new file mode 120000 index 000000000..0695d8fef --- /dev/null +++ b/travis/Dockerfile.debian.i386 @@ -0,0 +1 @@ +Dockerfile.debian.stable \ No newline at end of file diff --git a/travis/Dockerfile.debian.minimal b/travis/Dockerfile.debian.minimal new file mode 120000 index 000000000..0695d8fef --- /dev/null +++ b/travis/Dockerfile.debian.minimal @@ -0,0 +1 @@ +Dockerfile.debian.stable \ No newline at end of file diff --git a/travis/Dockerfile.debian.oldstable b/travis/Dockerfile.debian.oldstable new file mode 100644 index 000000000..9b50fe6b8 --- /dev/null +++ b/travis/Dockerfile.debian.oldstable @@ -0,0 +1,5 @@ +FROM debian:oldstable + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.debian.ppc64le b/travis/Dockerfile.debian.ppc64le new file mode 100644 index 000000000..6eb2ec7aa --- /dev/null +++ b/travis/Dockerfile.debian.ppc64le @@ -0,0 +1,5 @@ +FROM ppc64le/debian:stable + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.debian.stable b/travis/Dockerfile.debian.stable new file mode 100644 index 000000000..0e496079a --- /dev/null +++ b/travis/Dockerfile.debian.stable @@ -0,0 +1,5 @@ +FROM debian:stable + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.debian.testing b/travis/Dockerfile.debian.testing new file mode 100644 index 000000000..ca086c9ac --- /dev/null +++ b/travis/Dockerfile.debian.testing @@ -0,0 +1,5 @@ +FROM debian:testing + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.fedora.latest b/travis/Dockerfile.fedora.latest new file mode 100644 index 000000000..4f0f8f86e --- /dev/null +++ b/travis/Dockerfile.fedora.latest @@ -0,0 +1,5 @@ +FROM fedora:latest + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.leap b/travis/Dockerfile.leap new file mode 100644 index 000000000..f40ba3d38 --- /dev/null +++ b/travis/Dockerfile.leap @@ -0,0 +1,5 @@ +FROM opensuse:leap + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.tumbleweed b/travis/Dockerfile.tumbleweed new file mode 100644 index 000000000..493f6c4b0 --- /dev/null +++ b/travis/Dockerfile.tumbleweed @@ -0,0 +1,5 @@ +FROM opensuse:tumbleweed + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.ubuntu.latest b/travis/Dockerfile.ubuntu.latest new file mode 100644 index 000000000..ce38a1f04 --- /dev/null +++ b/travis/Dockerfile.ubuntu.latest @@ -0,0 +1,5 @@ +FROM ubuntu:latest + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/Dockerfile.ubuntu.xenial b/travis/Dockerfile.ubuntu.xenial new file mode 100644 index 000000000..2012aab96 --- /dev/null +++ b/travis/Dockerfile.ubuntu.xenial @@ -0,0 +1,5 @@ +FROM ubuntu:xenial + +RUN mkdir -p /usr/src/ltp +WORKDIR /usr/src/ltp +COPY . /usr/src/ltp diff --git a/travis/travis.centos.latest.sh b/travis/travis.centos.latest.sh new file mode 120000 index 000000000..5b53be398 --- /dev/null +++ b/travis/travis.centos.latest.sh @@ -0,0 +1 @@ +travis.fedora.latest.sh \ No newline at end of file diff --git a/travis/travis.centos6.sh b/travis/travis.centos6.sh new file mode 120000 index 000000000..5b53be398 --- /dev/null +++ b/travis/travis.centos6.sh @@ -0,0 +1 @@ +travis.fedora.latest.sh \ No newline at end of file diff --git a/travis/travis.debian.cross-compile.aarch64.sh b/travis/travis.debian.cross-compile.aarch64.sh new file mode 100755 index 000000000..e30f60d2e --- /dev/null +++ b/travis/travis.debian.cross-compile.aarch64.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> +set -e + +./travis.debian.stable.sh + +apt install -y --no-install-recommends \ + gcc-aarch64-linux-gnu \ + libc6-dev-arm64-cross diff --git a/travis/travis.debian.cross-compile.ppc64le.sh b/travis/travis.debian.cross-compile.ppc64le.sh new file mode 100755 index 000000000..c5169214c --- /dev/null +++ b/travis/travis.debian.cross-compile.ppc64le.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> +set -e + +./travis.debian.stable.sh + +apt install -y --no-install-recommends \ + gcc-powerpc64le-linux-gnu \ + libc6-dev-ppc64el-cross diff --git a/travis/travis.debian.i386.sh b/travis/travis.debian.i386.sh new file mode 100755 index 000000000..167953332 --- /dev/null +++ b/travis/travis.debian.i386.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> +set -e + +dpkg --add-architecture i386 +./travis.debian.stable.sh + +apt install -y --no-install-recommends \ + linux-libc-dev:i386 \ + gcc-multilib \ + libacl1:i386 \ + libaio1:i386 \ + libcap2:i386 \ + libc6-dev-i386 \ + libc6:i386 \ + libkeyutils1:i386 \ + libnuma1:i386 \ + libssl-dev:i386 \ + libtirpc1:i386 diff --git a/travis/travis.debian.minimal.sh b/travis/travis.debian.minimal.sh new file mode 100755 index 000000000..36d185e3f --- /dev/null +++ b/travis/travis.debian.minimal.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> +set -e + +./travis.debian.stable.sh + +apt remove -y \ + libacl1-dev \ + libaio-dev \ + libaio1 \ + libcap-dev \ + libcap2 \ + libkeyutils-dev \ + libkeyutils1 \ + libmm-dev \ + libnuma-dev \ + libnuma1 \ + libselinux1-dev \ + libsepol1-dev \ + libssl-dev \ + libtirpc1 diff --git a/travis/travis.debian.oldstable.sh b/travis/travis.debian.oldstable.sh new file mode 120000 index 000000000..ffd9a3d86 --- /dev/null +++ b/travis/travis.debian.oldstable.sh @@ -0,0 +1 @@ +travis.debian.stable.sh \ No newline at end of file diff --git a/travis/travis.debian.stable.sh b/travis/travis.debian.stable.sh new file mode 100755 index 000000000..3918a915f --- /dev/null +++ b/travis/travis.debian.stable.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> +set -e + +apt update + +apt install -y --no-install-recommends \ + acl-dev \ + autoconf \ + automake \ + build-essential \ + debhelper \ + devscripts \ + clang \ + gcc \ + libacl1 \ + libacl1-dev \ + libaio-dev \ + libaio1 \ + libcap-dev \ + libcap2 \ + libc6 \ + libc6-dev \ + libkeyutils-dev \ + libkeyutils1 \ + libmm-dev \ + libnuma-dev \ + libnuma1 \ + libselinux1-dev \ + libsepol1-dev \ + libssl-dev \ + linux-libc-dev \ + lsb-release + +apt install libtirpc1 libtirpc3 || true diff --git a/travis/travis.debian.testing.sh b/travis/travis.debian.testing.sh new file mode 120000 index 000000000..ffd9a3d86 --- /dev/null +++ b/travis/travis.debian.testing.sh @@ -0,0 +1 @@ +travis.debian.stable.sh \ No newline at end of file diff --git a/travis/travis.fedora.latest.sh b/travis/travis.fedora.latest.sh new file mode 100755 index 000000000..a4633333e --- /dev/null +++ b/travis/travis.fedora.latest.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> +set -e + +yum -y install \ + autoconf \ + automake \ + make \ + clang \ + gcc \ + findutils \ + redhat-lsb-core diff --git a/travis/travis.leap.sh b/travis/travis.leap.sh new file mode 120000 index 000000000..c7ce18b7d --- /dev/null +++ b/travis/travis.leap.sh @@ -0,0 +1 @@ +travis.tumbleweed.sh \ No newline at end of file diff --git a/travis/travis.sh b/travis/travis.sh new file mode 100755 index 000000000..16d469cc4 --- /dev/null +++ b/travis/travis.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> +set -e + +./travis.$DISTRO.sh +../build.sh -o $TREE -t native -c $CC diff --git a/travis/travis.tumbleweed.sh b/travis/travis.tumbleweed.sh new file mode 100755 index 000000000..8bae69065 --- /dev/null +++ b/travis/travis.tumbleweed.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> +set -e + +zypper --non-interactive in --no-recommends \ + autoconf \ + automake \ + clang \ + gcc \ + make \ + kernel-default-devel \ + keyutils-devel \ + libacl-devel \ + libaio-devel \ + libcap-devel \ + libnuma-devel \ + libopenssl-devel \ + libselinux-devel \ + libtirpc-devel \ + linux-glibc-devel \ + lsb-release diff --git a/travis/travis.ubuntu.latest.sh b/travis/travis.ubuntu.latest.sh new file mode 120000 index 000000000..ffd9a3d86 --- /dev/null +++ b/travis/travis.ubuntu.latest.sh @@ -0,0 +1 @@ +travis.debian.stable.sh \ No newline at end of file diff --git a/travis/travis.ubuntu.xenial.sh b/travis/travis.ubuntu.xenial.sh new file mode 120000 index 000000000..ffd9a3d86 --- /dev/null +++ b/travis/travis.ubuntu.xenial.sh @@ -0,0 +1 @@ +travis.debian.stable.sh \ No newline at end of file -- 2.19.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [LTP] [PATCH 3/3] travis: Use docker based builds 2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel @ 2018-12-19 14:16 ` Petr Vorel 2019-01-02 5:51 ` Li Wang 2019-01-02 15:11 ` Cyril Hrubis 2 siblings, 0 replies; 6+ messages in thread From: Petr Vorel @ 2018-12-19 14:16 UTC (permalink / raw) To: ltp Hi, Proposed docker based build in travis: https://travis-ci.org/pevik/ltp/builds/470037766 Compare with previous Trusty based build: https://travis-ci.org/linux-test-project/ltp/builds/469670856 Kind regards, Petr ^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH 3/3] travis: Use docker based builds 2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel 2018-12-19 14:16 ` Petr Vorel @ 2019-01-02 5:51 ` Li Wang 2019-01-02 15:11 ` Cyril Hrubis 2 siblings, 0 replies; 6+ messages in thread From: Li Wang @ 2019-01-02 5:51 UTC (permalink / raw) To: ltp On Wed, Dec 19, 2018 at 10:14 PM Petr Vorel <pvorel@suse.cz> wrote: > > Previously we used 10 Trusty environment (VM) based travis jobs with > different gcc and clang versions installed via ubuntu-toolchain-r apt > repository. > > We agreed that testing just different gcc/clang versions isn't enough, > it'd be good to test also different glibc and kernel headers, which are > on different distros. Therefore now we test 15 jobs based on various > distros (Debian, Ubuntu, Fedora, openSUSE, centOS). > We still test both gcc/clang, out-of-tree and cross-compilation builds. I have no more comment for this changes, patch set looks pretty good to me. > > Disadvantage of this approach is that it's not obvious compiler and libc > version. Travis C testing environment implementation prints compiler > version ($CC) before installing actually used compiler via docker. > Therefore run ver_linux printing version info and print $CC version in > build.sh. > > Implements: #448 > > Signed-off-by: Petr Vorel <pvorel@suse.cz> Reviewed-by: Li Wang <liwang@redhat.com> -- Regards, Li Wang ^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH 3/3] travis: Use docker based builds 2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel 2018-12-19 14:16 ` Petr Vorel 2019-01-02 5:51 ` Li Wang @ 2019-01-02 15:11 ` Cyril Hrubis 2 siblings, 0 replies; 6+ messages in thread From: Cyril Hrubis @ 2019-01-02 15:11 UTC (permalink / raw) To: ltp Hi! > Previously we used 10 Trusty environment (VM) based travis jobs with > different gcc and clang versions installed via ubuntu-toolchain-r apt > repository. > > We agreed that testing just different gcc/clang versions isn't enough, > it'd be good to test also different glibc and kernel headers, which are > on different distros. Therefore now we test 15 jobs based on various > distros (Debian, Ubuntu, Fedora, openSUSE, centOS). > We still test both gcc/clang, out-of-tree and cross-compilation builds. > > Disadvantage of this approach is that it's not obvious compiler and libc > version. Travis C testing environment implementation prints compiler > version ($CC) before installing actually used compiler via docker. > Therefore run ver_linux printing version info and print $CC version in > build.sh. Generally this approach greatly improves our coverage and I do like it very much, a few comments below. > --- > Hi, > > we can keep number of builds to 10 instead of current 15, but not sure > which jobs to remove. Nah, let's keep it as it is, it's fast enough. > Kind regards, > Petr > --- > .travis.packages_i386 | 9 -- > .travis.packages_native | 18 --- > .travis.yml | 143 ++++++------------ > build.sh | 12 +- > travis/Dockerfile.centos.latest | 5 + > travis/Dockerfile.centos6 | 5 + > .../Dockerfile.debian.cross-compile.aarch64 | 1 + > .../Dockerfile.debian.cross-compile.ppc64le | 1 + > travis/Dockerfile.debian.i386 | 1 + > travis/Dockerfile.debian.minimal | 1 + > travis/Dockerfile.debian.oldstable | 5 + > travis/Dockerfile.debian.ppc64le | 5 + > travis/Dockerfile.debian.stable | 5 + > travis/Dockerfile.debian.testing | 5 + > travis/Dockerfile.fedora.latest | 5 + > travis/Dockerfile.leap | 5 + > travis/Dockerfile.tumbleweed | 5 + > travis/Dockerfile.ubuntu.latest | 5 + > travis/Dockerfile.ubuntu.xenial | 5 + > travis/travis.centos.latest.sh | 1 + > travis/travis.centos6.sh | 1 + > travis/travis.debian.cross-compile.aarch64.sh | 9 ++ > travis/travis.debian.cross-compile.ppc64le.sh | 9 ++ > travis/travis.debian.i386.sh | 19 +++ > travis/travis.debian.minimal.sh | 21 +++ > travis/travis.debian.oldstable.sh | 1 + > travis/travis.debian.stable.sh | 35 +++++ > travis/travis.debian.testing.sh | 1 + > travis/travis.fedora.latest.sh | 12 ++ > travis/travis.leap.sh | 1 + > travis/travis.sh | 6 + This script appears to be unused, we do call the travis.$DISTRO.sh and build.sh from the yml file directly. > travis/travis.tumbleweed.sh | 21 +++ > travis/travis.ubuntu.latest.sh | 1 + > travis/travis.ubuntu.xenial.sh | 1 + > 34 files changed, 254 insertions(+), 126 deletions(-) > delete mode 100644 .travis.packages_i386 > delete mode 100644 .travis.packages_native > create mode 100644 travis/Dockerfile.centos.latest > create mode 100644 travis/Dockerfile.centos6 > create mode 120000 travis/Dockerfile.debian.cross-compile.aarch64 > create mode 120000 travis/Dockerfile.debian.cross-compile.ppc64le > create mode 120000 travis/Dockerfile.debian.i386 > create mode 120000 travis/Dockerfile.debian.minimal > create mode 100644 travis/Dockerfile.debian.oldstable > create mode 100644 travis/Dockerfile.debian.ppc64le > create mode 100644 travis/Dockerfile.debian.stable > create mode 100644 travis/Dockerfile.debian.testing > create mode 100644 travis/Dockerfile.fedora.latest > create mode 100644 travis/Dockerfile.leap > create mode 100644 travis/Dockerfile.tumbleweed > create mode 100644 travis/Dockerfile.ubuntu.latest > create mode 100644 travis/Dockerfile.ubuntu.xenial > create mode 120000 travis/travis.centos.latest.sh > create mode 120000 travis/travis.centos6.sh > create mode 100755 travis/travis.debian.cross-compile.aarch64.sh > create mode 100755 travis/travis.debian.cross-compile.ppc64le.sh > create mode 100755 travis/travis.debian.i386.sh > create mode 100755 travis/travis.debian.minimal.sh > create mode 120000 travis/travis.debian.oldstable.sh > create mode 100755 travis/travis.debian.stable.sh > create mode 120000 travis/travis.debian.testing.sh > create mode 100755 travis/travis.fedora.latest.sh > create mode 120000 travis/travis.leap.sh > create mode 100755 travis/travis.sh > create mode 100755 travis/travis.tumbleweed.sh > create mode 120000 travis/travis.ubuntu.latest.sh > create mode 120000 travis/travis.ubuntu.xenial.sh > > diff --git a/.travis.packages_i386 b/.travis.packages_i386 > deleted file mode 100644 > index 725329041..000000000 > --- a/.travis.packages_i386 > +++ /dev/null > @@ -1,9 +0,0 @@ > -libacl1:i386 > -libaio1:i386 > -libcap2:i386 > -libc6-dev-i386 > -libc6:i386 > -libkeyutils1:i386 > -libnuma1:i386 > -libssl-dev:i386 > -libtirpc1:i386 > diff --git a/.travis.packages_native b/.travis.packages_native > deleted file mode 100644 > index d9e1a2acc..000000000 > --- a/.travis.packages_native > +++ /dev/null > @@ -1,18 +0,0 @@ > -libacl1 > -libacl1-dev > -libaio-dev > -libaio1 > -libcap-dev > -libcap2 > -libc6 > -libc6-dev > -libkeyutils-dev > -libkeyutils1 > -libmm-dev > -libnuma-dev > -libnuma1 > -libselinux1-dev > -libsepol1-dev > -libssl-dev > -libtirpc1 > -linux-libc-dev > diff --git a/.travis.yml b/.travis.yml > index 078028f9b..fe8e901fb 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -1,124 +1,73 @@ > +sudo: required > language: c > - > -# BUILD="native": native builds > -# BUILD="32": 32-bit builds > -# BUILD="cross": cross compile build > -# TREE="out": out-of-tree build > -# NO INSTALL_PACKAGES variable: build with minimal dependencies > +services: > + - docker > > matrix: > include: > - ### native builds ### > + # 32 bit build > - os: linux > - env: BUILD="native" INSTALL_PACKAGES="$BUILD" > - compiler: gcc-5 > - addons: > - apt: > - sources: ['ubuntu-toolchain-r-test'] > - packages: ['gcc-5'] > + env: DISTRO=debian.i386 BUILD="32" > + compiler: gcc > > + # cross compilation builds > + - os: linux > + env: DISTRO=debian.cross-compile.ppc64le TREE="out" BUILD="cross" > + compiler: powerpc64le-linux-gnu-gcc > - os: linux > - env: BUILD="native" TREE="out" INSTALL_PACKAGES="$BUILD" > - compiler: gcc-7 > - addons: > - apt: > - sources: ['ubuntu-toolchain-r-test'] > - packages: ['gcc-7'] > + env: DISTRO=debian.cross-compile.aarch64 TREE="out" BUILD="cross" > + compiler: aarch64-linux-gnu-gcc > > + # build with minimal dependencies > - os: linux > - env: BUILD="native" TREE="out" > - compiler: clang-4.0 > - addons: > - apt: > - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0'] > - packages: ['clang-4.0'] > + env: DISTRO=debian.minimal TREE="out" > + compiler: clang > > - os: linux > - env: BUILD="native" INSTALL_PACKAGES="$BUILD" > - compiler: clang-5.0 > - addons: > - apt: > - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0'] > - packages: ['clang-5.0'] > + env: DISTRO=debian.testing > + compiler: gcc > + - os: linux > + env: DISTRO=debian.testing > + compiler: clang > > - os: linux > - env: BUILD="native" > - compiler: clang-3.9 > - addons: > - apt: > - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.9'] > - packages: ['clang-3.9'] > + env: DISTRO=debian.oldstable > + compiler: gcc > + - os: linux > + env: DISTRO=debian.oldstable > + compiler: clang > > - ### 32-bit builds ### > - os: linux > - env: BUILD="32" INSTALL_PACKAGES="$BUILD" > - compiler: gcc-4.9 > - addons: > - apt: > - sources: ['ubuntu-toolchain-r-test'] > - packages: ['gcc-4.9', 'gcc-4.9-multilib', 'linux-libc-dev:i386'] > + env: DISTRO=ubuntu.latest TREE="out" > + compiler: gcc > > - os: linux > - env: BUILD="32" TREE="out" INSTALL_PACKAGES="$BUILD" > - compiler: gcc-6 > - addons: > - apt: > - sources: ['ubuntu-toolchain-r-test'] > - packages: ['gcc-6', 'gcc-6-multilib', 'linux-libc-dev:i386'] > + env: DISTRO=ubuntu.xenial > + compiler: gcc > > - ### cross-compile builds ### > - os: linux > - env: BUILD="cross" INSTALL_PACKAGES="$BUILD" > - compiler: arm-linux-gnueabihf-gcc > - addons: > - apt: > - packages: ['gcc-arm-linux-gnueabihf', 'libc6-dev-armhf-cross'] > + env: DISTRO=tumbleweed > + compiler: gcc > > - os: linux > - env: BUILD="cross" TREE="out" INSTALL_PACKAGES="$BUILD" > - compiler: aarch64-linux-gnu-gcc > - addons: > - apt: > - packages: ['gcc-aarch64-linux-gnu', 'libc6-dev-arm64-cross'] > + env: DISTRO=leap > + compiler: gcc > > - os: linux > - env: BUILD="cross" TREE="out" > - compiler: powerpc64le-linux-gnu-gcc > - addons: > - apt: > - packages: ['gcc-powerpc64le-linux-gnu', 'libc6-dev-ppc64el-cross'] > + env: DISTRO=fedora.latest > + compiler: clang > > -notifications: > - email: > - secure: "b/xcA/K5OyQvPPnd0PRahTH5LJu8lgz8goGHvhXpHo+ZPsPgTDXNFo5cX9fSOkMuFKeoW8iGl0wOgK2+ptc8mbYDw277K4RFIHRHeV/KIoE1EzjQnEFiL8J0oHCAvDj12o0AXeriTyY9gICXKbR31Br6Zh5eKViDJe2OAGeHeDU=" > + - os: linux > + env: DISTRO=centos.latest > + compiler: gcc > + - os: linux > + env: DISTRO=centos6 TREE="out" > + compiler: gcc > > before_install: > - # travis-ci/travis-ci#9112: remove all third party repositories except ubuntu-toolchain-r-test > - - if [ -f /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list ]; then > - cp -v /etc/apt/sources.list.d/ubuntu-toolchain-r-test*.list /tmp > - ; fi > - - sudo rm -fv /etc/apt/sources.list.d/* > - - if [ -f /tmp/ubuntu-toolchain-r-test*.list ]; then > - sudo cp -v /tmp/ubuntu-toolchain-r-test*.list /etc/apt/sources.list.d/ > - ; fi > - > - # workaround apt related for error: > - # Err:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu trusty InRelease > - # The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1E9377A2BA9EF27F > - - sudo apt update -o Acquire::Retries=100 -o Acquire::http::Timeout="60" -o Acquire::AllowInsecureRepositories=true -o Acquire::AllowDowngradeToInsecureRepositories=true > - > - # installing / removing dependencies > - - if [ "$INSTALL_PACKAGES" = "" ]; then > - sudo apt remove $(cat .travis.packages_native | grep -v -e 'libc6' -e 'libc6-dev' -e 'linux-libc-dev' -e 'libacl1') > - ; else > - sudo apt install -qq $(cat .travis.packages_native) > - ; fi > - > - - if [ "$INSTALL_PACKAGES" = "32" ]; then > - sudo apt install -qq $(cat .travis.packages_i386) > - ; fi > - - if [ ! "$TREE" ]; then > - TREE="in" > - ; fi > + - docker build -f travis/Dockerfile.$DISTRO -t ltp . > > -script: ./build.sh -o $TREE -t $BUILD -c $CC > +script: > + - if [ ! "$TREE" ]; then TREE="in"; fi > + - if [ ! "$BUILD" ]; then BUILD="native"; fi > + - docker run -it ltp /bin/sh -c "cd travis && ./travis.$DISTRO.sh && ../build.sh -o $TREE -t $BUILD -c $CC" > diff --git a/build.sh b/build.sh > index 4e8357982..ae3b86ff2 100755 > --- a/build.sh > +++ b/build.sh > @@ -1,5 +1,5 @@ > #!/bin/sh > -# Copyright (c) 2017 Petr Vorel <pvorel@suse.cz> > +# Copyright (c) 2017-2018 Petr Vorel <pvorel@suse.cz> > # Script for travis builds. > # > # TODO: Implement comparison of installed files. List of installed files can > @@ -16,7 +16,7 @@ CONFIGURE_OPTS_IN_TREE="--with-open-posix-testsuite --with-realtime-testsuite" > # TODO: open posix testsuite is currently broken in out-tree-build. Enable it once it's fixed. > CONFIGURE_OPTS_OUT_TREE="--with-realtime-testsuite" > MAKE_OPTS="-j$(getconf _NPROCESSORS_ONLN)" > -CC= > +CC=gcc > > build_32() > { > @@ -152,4 +152,12 @@ while getopts "c:ho:p:t:" opt; do > done > > cd `dirname $0` > + > +echo "=== ver_linux ===" > +./ver_linux > +echo > + > +echo "=== compiler version ===" > +$CC --version > + > eval build_$build $tree > diff --git a/travis/Dockerfile.centos.latest b/travis/Dockerfile.centos.latest > new file mode 100644 > index 000000000..35741009a > --- /dev/null > +++ b/travis/Dockerfile.centos.latest > @@ -0,0 +1,5 @@ > +FROM centos:latest > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp I wonder if we can generate these on-the-fly? I doubt that there is a good reason to keep 15 files in the git tree that differ only in distro name. > diff --git a/travis/Dockerfile.centos6 b/travis/Dockerfile.centos6 > new file mode 100644 > index 000000000..cbc7660ed > --- /dev/null > +++ b/travis/Dockerfile.centos6 > @@ -0,0 +1,5 @@ > +FROM centos:6 > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.debian.cross-compile.aarch64 b/travis/Dockerfile.debian.cross-compile.aarch64 > new file mode 120000 > index 000000000..0695d8fef > --- /dev/null > +++ b/travis/Dockerfile.debian.cross-compile.aarch64 > @@ -0,0 +1 @@ > +Dockerfile.debian.stable > \ No newline at end of file > diff --git a/travis/Dockerfile.debian.cross-compile.ppc64le b/travis/Dockerfile.debian.cross-compile.ppc64le > new file mode 120000 > index 000000000..0695d8fef > --- /dev/null > +++ b/travis/Dockerfile.debian.cross-compile.ppc64le > @@ -0,0 +1 @@ > +Dockerfile.debian.stable > \ No newline at end of file > diff --git a/travis/Dockerfile.debian.i386 b/travis/Dockerfile.debian.i386 > new file mode 120000 > index 000000000..0695d8fef > --- /dev/null > +++ b/travis/Dockerfile.debian.i386 > @@ -0,0 +1 @@ > +Dockerfile.debian.stable > \ No newline at end of file > diff --git a/travis/Dockerfile.debian.minimal b/travis/Dockerfile.debian.minimal > new file mode 120000 > index 000000000..0695d8fef > --- /dev/null > +++ b/travis/Dockerfile.debian.minimal > @@ -0,0 +1 @@ > +Dockerfile.debian.stable > \ No newline at end of file > diff --git a/travis/Dockerfile.debian.oldstable b/travis/Dockerfile.debian.oldstable > new file mode 100644 > index 000000000..9b50fe6b8 > --- /dev/null > +++ b/travis/Dockerfile.debian.oldstable > @@ -0,0 +1,5 @@ > +FROM debian:oldstable > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.debian.ppc64le b/travis/Dockerfile.debian.ppc64le > new file mode 100644 > index 000000000..6eb2ec7aa > --- /dev/null > +++ b/travis/Dockerfile.debian.ppc64le > @@ -0,0 +1,5 @@ > +FROM ppc64le/debian:stable > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.debian.stable b/travis/Dockerfile.debian.stable > new file mode 100644 > index 000000000..0e496079a > --- /dev/null > +++ b/travis/Dockerfile.debian.stable > @@ -0,0 +1,5 @@ > +FROM debian:stable > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.debian.testing b/travis/Dockerfile.debian.testing > new file mode 100644 > index 000000000..ca086c9ac > --- /dev/null > +++ b/travis/Dockerfile.debian.testing > @@ -0,0 +1,5 @@ > +FROM debian:testing > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.fedora.latest b/travis/Dockerfile.fedora.latest > new file mode 100644 > index 000000000..4f0f8f86e > --- /dev/null > +++ b/travis/Dockerfile.fedora.latest > @@ -0,0 +1,5 @@ > +FROM fedora:latest > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.leap b/travis/Dockerfile.leap > new file mode 100644 > index 000000000..f40ba3d38 > --- /dev/null > +++ b/travis/Dockerfile.leap > @@ -0,0 +1,5 @@ > +FROM opensuse:leap > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.tumbleweed b/travis/Dockerfile.tumbleweed > new file mode 100644 > index 000000000..493f6c4b0 > --- /dev/null > +++ b/travis/Dockerfile.tumbleweed > @@ -0,0 +1,5 @@ > +FROM opensuse:tumbleweed > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.ubuntu.latest b/travis/Dockerfile.ubuntu.latest > new file mode 100644 > index 000000000..ce38a1f04 > --- /dev/null > +++ b/travis/Dockerfile.ubuntu.latest > @@ -0,0 +1,5 @@ > +FROM ubuntu:latest > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/Dockerfile.ubuntu.xenial b/travis/Dockerfile.ubuntu.xenial > new file mode 100644 > index 000000000..2012aab96 > --- /dev/null > +++ b/travis/Dockerfile.ubuntu.xenial > @@ -0,0 +1,5 @@ > +FROM ubuntu:xenial > + > +RUN mkdir -p /usr/src/ltp > +WORKDIR /usr/src/ltp > +COPY . /usr/src/ltp > diff --git a/travis/travis.centos.latest.sh b/travis/travis.centos.latest.sh > new file mode 120000 > index 000000000..5b53be398 > --- /dev/null > +++ b/travis/travis.centos.latest.sh > @@ -0,0 +1 @@ > +travis.fedora.latest.sh > \ No newline at end of file Maybe we should name these setup.$foo.sh since they live in the travis directory already... > diff --git a/travis/travis.centos6.sh b/travis/travis.centos6.sh > new file mode 120000 > index 000000000..5b53be398 > --- /dev/null > +++ b/travis/travis.centos6.sh > @@ -0,0 +1 @@ > +travis.fedora.latest.sh > \ No newline at end of file > diff --git a/travis/travis.debian.cross-compile.aarch64.sh b/travis/travis.debian.cross-compile.aarch64.sh > new file mode 100755 > index 000000000..e30f60d2e > --- /dev/null > +++ b/travis/travis.debian.cross-compile.aarch64.sh > @@ -0,0 +1,9 @@ > +#!/bin/sh > +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> > +set -e > + > +./travis.debian.stable.sh > + > +apt install -y --no-install-recommends \ > + gcc-aarch64-linux-gnu \ > + libc6-dev-arm64-cross > diff --git a/travis/travis.debian.cross-compile.ppc64le.sh b/travis/travis.debian.cross-compile.ppc64le.sh > new file mode 100755 > index 000000000..c5169214c > --- /dev/null > +++ b/travis/travis.debian.cross-compile.ppc64le.sh > @@ -0,0 +1,9 @@ > +#!/bin/sh > +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> > +set -e > + > +./travis.debian.stable.sh > + > +apt install -y --no-install-recommends \ > + gcc-powerpc64le-linux-gnu \ > + libc6-dev-ppc64el-cross > diff --git a/travis/travis.debian.i386.sh b/travis/travis.debian.i386.sh > new file mode 100755 > index 000000000..167953332 > --- /dev/null > +++ b/travis/travis.debian.i386.sh > @@ -0,0 +1,19 @@ > +#!/bin/sh > +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> > +set -e > + > +dpkg --add-architecture i386 > +./travis.debian.stable.sh > + > +apt install -y --no-install-recommends \ > + linux-libc-dev:i386 \ > + gcc-multilib \ > + libacl1:i386 \ > + libaio1:i386 \ > + libcap2:i386 \ > + libc6-dev-i386 \ > + libc6:i386 \ > + libkeyutils1:i386 \ > + libnuma1:i386 \ > + libssl-dev:i386 \ > + libtirpc1:i386 > diff --git a/travis/travis.debian.minimal.sh b/travis/travis.debian.minimal.sh > new file mode 100755 > index 000000000..36d185e3f > --- /dev/null > +++ b/travis/travis.debian.minimal.sh > @@ -0,0 +1,21 @@ > +#!/bin/sh > +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> > +set -e > + > +./travis.debian.stable.sh > + > +apt remove -y \ > + libacl1-dev \ > + libaio-dev \ > + libaio1 \ > + libcap-dev \ > + libcap2 \ > + libkeyutils-dev \ > + libkeyutils1 \ > + libmm-dev \ > + libnuma-dev \ > + libnuma1 \ > + libselinux1-dev \ > + libsepol1-dev \ > + libssl-dev \ > + libtirpc1 > diff --git a/travis/travis.debian.oldstable.sh b/travis/travis.debian.oldstable.sh > new file mode 120000 > index 000000000..ffd9a3d86 > --- /dev/null > +++ b/travis/travis.debian.oldstable.sh > @@ -0,0 +1 @@ > +travis.debian.stable.sh > \ No newline at end of file > diff --git a/travis/travis.debian.stable.sh b/travis/travis.debian.stable.sh > new file mode 100755 > index 000000000..3918a915f > --- /dev/null > +++ b/travis/travis.debian.stable.sh > @@ -0,0 +1,35 @@ > +#!/bin/sh > +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> > +set -e > + > +apt update > + > +apt install -y --no-install-recommends \ > + acl-dev \ > + autoconf \ > + automake \ > + build-essential \ > + debhelper \ > + devscripts \ > + clang \ > + gcc \ > + libacl1 \ > + libacl1-dev \ > + libaio-dev \ > + libaio1 \ > + libcap-dev \ > + libcap2 \ > + libc6 \ > + libc6-dev \ > + libkeyutils-dev \ > + libkeyutils1 \ > + libmm-dev \ > + libnuma-dev \ > + libnuma1 \ > + libselinux1-dev \ > + libsepol1-dev \ > + libssl-dev \ > + linux-libc-dev \ > + lsb-release > + > +apt install libtirpc1 libtirpc3 || true > diff --git a/travis/travis.debian.testing.sh b/travis/travis.debian.testing.sh > new file mode 120000 > index 000000000..ffd9a3d86 > --- /dev/null > +++ b/travis/travis.debian.testing.sh > @@ -0,0 +1 @@ > +travis.debian.stable.sh > \ No newline at end of file > diff --git a/travis/travis.fedora.latest.sh b/travis/travis.fedora.latest.sh > new file mode 100755 > index 000000000..a4633333e > --- /dev/null > +++ b/travis/travis.fedora.latest.sh > @@ -0,0 +1,12 @@ > +#!/bin/sh > +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> > +set -e > + > +yum -y install \ > + autoconf \ > + automake \ > + make \ > + clang \ > + gcc \ > + findutils \ > + redhat-lsb-core > diff --git a/travis/travis.leap.sh b/travis/travis.leap.sh > new file mode 120000 > index 000000000..c7ce18b7d > --- /dev/null > +++ b/travis/travis.leap.sh > @@ -0,0 +1 @@ > +travis.tumbleweed.sh > \ No newline at end of file > diff --git a/travis/travis.sh b/travis/travis.sh > new file mode 100755 > index 000000000..16d469cc4 > --- /dev/null > +++ b/travis/travis.sh > @@ -0,0 +1,6 @@ > +#!/bin/sh > +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> > +set -e > + > +./travis.$DISTRO.sh > +../build.sh -o $TREE -t native -c $CC > diff --git a/travis/travis.tumbleweed.sh b/travis/travis.tumbleweed.sh > new file mode 100755 > index 000000000..8bae69065 > --- /dev/null > +++ b/travis/travis.tumbleweed.sh > @@ -0,0 +1,21 @@ > +#!/bin/sh > +# Copyright (c) 2018 Petr Vorel <pvorel@suse.cz> > +set -e > + > +zypper --non-interactive in --no-recommends \ > + autoconf \ > + automake \ > + clang \ > + gcc \ > + make \ > + kernel-default-devel \ > + keyutils-devel \ > + libacl-devel \ > + libaio-devel \ > + libcap-devel \ > + libnuma-devel \ > + libopenssl-devel \ > + libselinux-devel \ > + libtirpc-devel \ > + linux-glibc-devel \ > + lsb-release > diff --git a/travis/travis.ubuntu.latest.sh b/travis/travis.ubuntu.latest.sh > new file mode 120000 > index 000000000..ffd9a3d86 > --- /dev/null > +++ b/travis/travis.ubuntu.latest.sh > @@ -0,0 +1 @@ > +travis.debian.stable.sh > \ No newline at end of file > diff --git a/travis/travis.ubuntu.xenial.sh b/travis/travis.ubuntu.xenial.sh > new file mode 120000 > index 000000000..ffd9a3d86 > --- /dev/null > +++ b/travis/travis.ubuntu.xenial.sh > @@ -0,0 +1 @@ > +travis.debian.stable.sh > \ No newline at end of file > -- > 2.19.2 > -- Cyril Hrubis chrubis@suse.cz ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-01-02 15:11 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-12-19 14:14 [LTP] [PATCH 1/3] ver_linux: Print clang version Petr Vorel 2018-12-19 14:14 ` [LTP] [PATCH 2/3] ver_linux: Add lsb_release -a Petr Vorel 2018-12-19 14:14 ` [LTP] [PATCH 3/3] travis: Use docker based builds Petr Vorel 2018-12-19 14:16 ` Petr Vorel 2019-01-02 5:51 ` Li Wang 2019-01-02 15:11 ` Cyril Hrubis
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox