Add autotest case for Alpine Linux because it uses musl
authorJonathan Dieter <jdieter@gmail.com>
Sat, 14 Mar 2020 21:53:20 +0000 (21:53 +0000)
committerJonathan Dieter <jdieter@gmail.com>
Sat, 14 Mar 2020 21:53:20 +0000 (21:53 +0000)
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
.dockerignore [new file with mode: 0644]
Jenkinsfile
autotest/alpine-edge/build.sh [new file with mode: 0755]
autotest/alpine-edge/build/Dockerfile [new file with mode: 0644]
autotest/alpine-edge/prep.sh [new file with mode: 0755]
autotest/alpine-edge/prep/Dockerfile [new file with mode: 0644]
autotest/alpine-edge/test.sh [new file with mode: 0755]
prep-Jenkinsfile

diff --git a/.dockerignore b/.dockerignore
new file mode 100644 (file)
index 0000000..8952ac2
--- /dev/null
@@ -0,0 +1,2 @@
+build
+covint
index 4e7785acc4c7571e7f3a6b4bdf641dfa9cddf5d1..7a0121b2615975345e37787cc698492096d05797 100644 (file)
@@ -1,8 +1,7 @@
 node {
     checkout scm
     stage('Build') {
-        parallel fedora: {
-            
+        fedora: {
             sh "./autotest/fedora-latest/build.sh"
         },
         centos: {
@@ -11,6 +10,9 @@ node {
         opensuse: {
             sh "./autotest/opensuse-leap/build.sh"
         },
+        alpine: {
+            sh "./autotest/alpine-edge/build.sh"
+        }
         debian: {
             sh "./autotest/debian-latest/build.sh"
         },
@@ -19,8 +21,7 @@ node {
         }
     }
     stage('Test') {
-        parallel fedora: {
-            
+        fedora: {
             sh "./autotest/fedora-latest/test.sh"
         },
         centos: {
@@ -29,6 +30,9 @@ node {
         opensuse: {
             sh "./autotest/opensuse-leap/test.sh"
         },
+        alpine: {
+            sh "./autotest/alpine-edge/test.sh"
+        }
         debian: {
             sh "./autotest/debian-latest/test.sh"
         },
diff --git a/autotest/alpine-edge/build.sh b/autotest/alpine-edge/build.sh
new file mode 100755 (executable)
index 0000000..a406c6c
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+# Build zchunk-alpine:edge if it doesn't exist
+HAVE_IMAGE=$(docker image ls -q zchunk-alpine:edge)
+if [ "$HAVE_IMAGE" == "" ]; then
+       autotest/alpine-edge/prep.sh
+       if [ "$?" -ne 0 ]; then
+               exit 1
+       fi
+fi
+docker image rm zchunk-alpine:test -f 2>/dev/null 1>/dev/null
+docker image build -t zchunk-alpine:test --file autotest/alpine-edge/build/Dockerfile ./
+
diff --git a/autotest/alpine-edge/build/Dockerfile b/autotest/alpine-edge/build/Dockerfile
new file mode 100644 (file)
index 0000000..4e3b130
--- /dev/null
@@ -0,0 +1,6 @@
+FROM zchunk-alpine:edge
+ADD ./ /code
+WORKDIR /code
+RUN meson build && cd build && ninja || cat /code/build/meson-logs/meson-log.txt
+WORKDIR /code/build
+CMD ninja test
diff --git a/autotest/alpine-edge/prep.sh b/autotest/alpine-edge/prep.sh
new file mode 100755 (executable)
index 0000000..9a63b9a
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+docker pull alpine:edge
+if [ "$?" -ne 0 ]; then
+        exit 1
+fi
+docker image rm -f zchunk-alpine:edge 2>/dev/null 1>/dev/null
+docker image build -t zchunk-alpine:edge --file autotest/alpine-edge/prep/Dockerfile ./
diff --git a/autotest/alpine-edge/prep/Dockerfile b/autotest/alpine-edge/prep/Dockerfile
new file mode 100644 (file)
index 0000000..ef8a80d
--- /dev/null
@@ -0,0 +1,3 @@
+FROM alpine:edge
+
+RUN apk add meson gcc musl-dev zstd-dev curl-dev openssl-dev argp-standalone && rm -rf /var/cache/apk/*
diff --git a/autotest/alpine-edge/test.sh b/autotest/alpine-edge/test.sh
new file mode 100755 (executable)
index 0000000..4cdc2e1
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+# Build zchunk-alpine:edge if it doesn't exist
+HAVE_IMAGE=$(docker image ls -q zchunk-alpine:test)
+if [ "$HAVE_IMAGE" == "" ]; then
+       autotest/alpine-edge/build.sh
+       if [ "$?" -ne 0 ]; then
+               exit 1
+       fi
+fi
+docker rm zchunk-alpine-test -f 2>/dev/null 1>/dev/null
+docker run --name zchunk-alpine-test zchunk-alpine:test
+RETVAL=$?
+docker rm zchunk-alpine-test -f 2>/dev/null 1>/dev/null
+docker image rm zchunk-alpine:test -f 2>/dev/null 1>/dev/null
+exit $RETVAL
index 6b67e1e50066c4f4bcd9f3dfe57922a201063fd4..f47fe5d32ae03af09e129e07ff4e55c6ece881dd 100644 (file)
@@ -4,6 +4,7 @@ node {
         sh "./autotest/fedora-latest/prep.sh"
         sh "./autotest/centos-7/prep.sh"
         sh "./autotest/opensuse-leap/prep.sh"
+        sh "./autotest/alpine-edge/prep.sh"
         sh "./autotest/debian-latest/prep.sh"
         sh "./autotest/ubuntu-rolling/prep.sh"
     }