[PATCH 3/3] travis: build and test on Linux with musl libc and busybox
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
.travis.yml | 8 ++++++++
ci/run-alpine-build.sh | 31 +++++++++++++++++++++++++++++++
ci/run-docker.sh | 1 +
3 files changed, 40 insertions(+)
create mode 100755 ci/run-alpine-build.sh
diff --git a/.travis.yml b/.travis.yml
index 32e80e2670..a2927dd120 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -33,6 +33,14 @@ matrix:
- docker
before_install:
script: ci/run-docker.sh linux32
+ - env: jobname=linux-musl-busybox
+ os: linux
+ compiler:
+ addons:
+ services:
+ - docker
+ before_install:
+ script: ci/run-docker.sh alpine
- env: jobname=StaticAnalysis
os: linux
compiler:
diff --git a/ci/run-alpine-build.sh b/ci/run-alpine-build.sh
new file mode 100755
index 0000000000..c83df536e4
--- /dev/null
+++ b/ci/run-alpine-build.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# Build and test Git in Alpine Linux
+#
+# Usage:
+# run-alpine-build.sh <host-user-id>
+#
+
+set -ex
+
+useradd () {
+ adduser -D "$@"
+}
+
+. "${0%/*}/lib-docker.sh"
+
+# Update packages to the latest available versions
+apk add --update autoconf build-base curl-dev openssl-dev expat-dev \
+ gettext pcre2-dev python3 musl-libintl >/dev/null
+
+# Build and test
+su -m -l $CI_USER -c '
+ set -ex
+ cd /usr/src/git
+ test -n "$cache_dir" && ln -s "$cache_dir/.prove" t/.prove
+ autoconf
+ echo "PYTHON_PATH=/usr/bin/python3" >config.mak
+ ./configure --with-libpcre
+ make
+ make test
+'
diff --git a/ci/run-docker.sh b/ci/run-docker.sh
index c8dff9d41a..47affcd6d3 100755
--- a/ci/run-docker.sh
+++ b/ci/run-docker.sh
@@ -8,6 +8,7 @@
CI_TARGET=${1:-linux32}
case "$CI_TARGET" in
linux32) CI_CONTAINER="daald/ubuntu32:xenial" ;;
+alpine) CI_CONTAINER="alpine" ;;
*) exit 1 ;;
esac
--
2.26.0.rc2.357.g1e1ba0441d