]> granicus.if.org Git - strace/commitdiff
Add initial GitLab CI support
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 29 Nov 2017 03:52:27 +0000 (03:52 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 29 Nov 2017 03:52:27 +0000 (03:52 +0000)
* .gitlab-ci.yml: New file.
* travis-build.sh: Print $CC -print-multi-lib.  Print config.log
in case of configure failure.
* travis-install.sh: Check sudo availability.  Install autoconf,
automake, file, gawk, gcc-multilib, git, gzip, make, and xz-utils
for all targets.
(musl-gcc): Install ca-certificates.

.gitlab-ci.yml [new file with mode: 0644]
travis-build.sh
travis-install.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644 (file)
index 0000000..0dd2dce
--- /dev/null
@@ -0,0 +1,37 @@
+image: "ubuntu:17.10"
+
+before_script:
+  - ./travis-install.sh
+
+variables:
+  GIT_DEPTH: "2147483647"
+  SLEEP_A_BIT: "sleep 0.2"
+  VERBOSE: "1"
+
+gcc-x86_64:
+  stage: test
+  script: ./travis-build.sh
+  variables:
+    CC: "gcc"
+    TARGET: "x86_64"
+
+gcc-x86:
+  stage: test
+  script: ./travis-build.sh
+  variables:
+    CC: "gcc"
+    TARGET: "x86"
+
+clang-x86_64:
+  stage: test
+  script: ./travis-build.sh
+  variables:
+    CC: "clang"
+    TARGET: "x86_64"
+
+clang-x86:
+  stage: test
+  script: ./travis-build.sh
+  variables:
+    CC: "clang"
+    TARGET: "x86"
index 2c05814613097297a94fe16be3e3b458893029a2..55bd8404093ff0f79781c8ed269e9db6fb751fab 100755 (executable)
@@ -49,6 +49,7 @@ libc="$(ldd /bin/sh |sed -n 's|^[^/]*\(/[^ ]*/libc\.so[^ ]*\).*|\1|p' |head -1)"
 $libc |head -1
 file -L /bin/sh
 $CC --version |head -1
+$CC -print-multi-lib ||:
 make --version |head -1
 autoconf --version |head -1
 automake --version |head -1
@@ -62,7 +63,11 @@ export CC_FOR_BUILD="$CC"
 ./bootstrap
 ./configure --enable-maintainer-mode \
        ${DISTCHECK_CONFIGURE_FLAGS-} \
-       #
+       || {
+       rc=$?
+       cat config.log
+       exit $rc
+}
 
 j=-j`getconf _NPROCESSORS_ONLN 2> /dev/null` || j=
 
index 3aaa78857f44032052f0b05896c353b1a4b1a1a6..2fbd275b499564beaa7bd1534b47dbe15d4adbec 100755 (executable)
@@ -1,21 +1,24 @@
 #!/bin/sh -ex
 
+type sudo >/dev/null 2>&1 && sudo=sudo || sudo=
+common_packages='autoconf automake file gawk gcc-multilib git gzip make xz-utils'
+
 updated=
 apt_get_install()
 {
        [ -n "$updated" ] || {
-               sudo apt-get -qq update
+               $sudo apt-get -qq update
                updated=1
        }
-       sudo apt-get -qq --no-install-suggests --no-install-recommends \
+       $sudo apt-get -qq --no-install-suggests --no-install-recommends \
                install -y "$@"
 }
 
 case "$KHEADERS" in
        */*)
                git clone --depth=1 https://github.com/"$KHEADERS" kernel
-               sudo make -C kernel headers_install INSTALL_HDR_PATH=/opt/kernel
-               sudo rm -rf kernel
+               $sudo make -C kernel headers_install INSTALL_HDR_PATH=/opt/kernel
+               $sudo rm -rf kernel
                KHEADERS_INC=/opt/kernel/include
                ;;
        *)
@@ -25,17 +28,17 @@ esac
 
 case "$CC" in
        gcc)
-               apt_get_install gcc-multilib
+               apt_get_install $common_packages
                ;;
        gcc-*)
-               sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
-               apt_get_install gcc-multilib "$CC"-multilib
+               $sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
+               apt_get_install $common_packages "$CC"-multilib
                ;;
-       clang-*)
-               apt_get_install gcc-multilib "$CC"
+       clang*)
+               apt_get_install $common_packages "$CC"
                ;;
        musl-gcc)
-               apt_get_install gcc-multilib
+               apt_get_install $common_packages ca-certificates
                git clone --depth=1 https://github.com/strace/musl
                cd musl
                        CC=gcc
@@ -51,10 +54,10 @@ case "$CC" in
                        esac
                        ./configure --prefix=/opt/musl --exec-prefix=/usr ${build}
                        make
-                       sudo make install
+                       $sudo make install
                cd -
                rm -rf musl
-               sudo ln -s \
+               $sudo ln -s \
                        $KHEADERS_INC/asm* \
                        $KHEADERS_INC/linux \
                        $KHEADERS_INC/mtd \