From: Dmitry V. Levin <ldv@altlinux.org>
Date: Wed, 29 Nov 2017 03:52:27 +0000 (+0000)
Subject: Add initial GitLab CI support
X-Git-Tag: v4.21~291
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=66b37bb73735add3c5bf45fea8744f8e59a99114;p=strace

Add initial GitLab CI support

* .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.
---

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..0dd2dcee
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -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"
diff --git a/travis-build.sh b/travis-build.sh
index 2c058146..55bd8404 100755
--- a/travis-build.sh
+++ b/travis-build.sh
@@ -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=
 
diff --git a/travis-install.sh b/travis-install.sh
index 3aaa7885..2fbd275b 100755
--- a/travis-install.sh
+++ b/travis-install.sh
@@ -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 \