From 90453bd925c9691cdedf404f3e54b0ee00fe3444 Mon Sep 17 00:00:00 2001 From: Jonathan Dieter Date: Wed, 14 Nov 2018 22:16:33 +0000 Subject: [PATCH] Switch up testing to allow separation of image creation and building Signed-off-by: Jonathan Dieter : --- .gitignore | 2 +- DOCKER_TESTING.md | 2 +- autotest/centos-latest/Dockerfile | 8 -------- autotest/centos-latest/build.sh | 12 ++++++++++++ autotest/centos-latest/build/Dockerfile | 6 ++++++ autotest/centos-latest/docker-compose.yml | 6 ------ autotest/centos-latest/prep.sh | 7 +++++++ autotest/centos-latest/prep/Dockerfile | 2 ++ autotest/centos-latest/test.sh | 15 +++++++++++++++ autotest/debian-latest/Dockerfile | 10 ---------- autotest/debian-latest/build.sh | 12 ++++++++++++ autotest/debian-latest/build/Dockerfile | 6 ++++++ autotest/debian-latest/docker-compose.yml | 6 ------ autotest/debian-latest/prep.sh | 7 +++++++ autotest/debian-latest/prep/Dockerfile | 2 ++ autotest/debian-latest/test.sh | 15 +++++++++++++++ autotest/fedora-latest/Dockerfile | 6 ------ autotest/fedora-latest/build.sh | 12 ++++++++++++ autotest/fedora-latest/build/Dockerfile | 6 ++++++ autotest/fedora-latest/docker-compose.yml | 6 ------ autotest/fedora-latest/prep.sh | 7 +++++++ autotest/fedora-latest/prep/Dockerfile | 2 ++ autotest/fedora-latest/test.sh | 15 +++++++++++++++ autotest/opensuse-leap/Dockerfile | 6 ------ autotest/opensuse-leap/build.sh | 12 ++++++++++++ autotest/opensuse-leap/build/Dockerfile | 6 ++++++ autotest/opensuse-leap/docker-compose.yml | 6 ------ autotest/opensuse-leap/prep.sh | 7 +++++++ autotest/opensuse-leap/prep/Dockerfile | 2 ++ autotest/opensuse-leap/test.sh | 15 +++++++++++++++ autotest/ubuntu-rolling/Dockerfile | 7 ------- autotest/ubuntu-rolling/build.sh | 12 ++++++++++++ autotest/ubuntu-rolling/build/Dockerfile | 6 ++++++ autotest/ubuntu-rolling/docker-compose.yml | 6 ------ autotest/ubuntu-rolling/prep.sh | 7 +++++++ autotest/ubuntu-rolling/prep/Dockerfile | 2 ++ autotest/ubuntu-rolling/test.sh | 15 +++++++++++++++ 37 files changed, 212 insertions(+), 69 deletions(-) delete mode 100644 autotest/centos-latest/Dockerfile create mode 100755 autotest/centos-latest/build.sh create mode 100644 autotest/centos-latest/build/Dockerfile delete mode 100644 autotest/centos-latest/docker-compose.yml create mode 100755 autotest/centos-latest/prep.sh create mode 100644 autotest/centos-latest/prep/Dockerfile create mode 100755 autotest/centos-latest/test.sh delete mode 100644 autotest/debian-latest/Dockerfile create mode 100755 autotest/debian-latest/build.sh create mode 100644 autotest/debian-latest/build/Dockerfile delete mode 100644 autotest/debian-latest/docker-compose.yml create mode 100755 autotest/debian-latest/prep.sh create mode 100644 autotest/debian-latest/prep/Dockerfile create mode 100755 autotest/debian-latest/test.sh delete mode 100644 autotest/fedora-latest/Dockerfile create mode 100755 autotest/fedora-latest/build.sh create mode 100644 autotest/fedora-latest/build/Dockerfile delete mode 100644 autotest/fedora-latest/docker-compose.yml create mode 100755 autotest/fedora-latest/prep.sh create mode 100644 autotest/fedora-latest/prep/Dockerfile create mode 100755 autotest/fedora-latest/test.sh delete mode 100644 autotest/opensuse-leap/Dockerfile create mode 100755 autotest/opensuse-leap/build.sh create mode 100644 autotest/opensuse-leap/build/Dockerfile delete mode 100644 autotest/opensuse-leap/docker-compose.yml create mode 100755 autotest/opensuse-leap/prep.sh create mode 100644 autotest/opensuse-leap/prep/Dockerfile create mode 100755 autotest/opensuse-leap/test.sh delete mode 100644 autotest/ubuntu-rolling/Dockerfile create mode 100755 autotest/ubuntu-rolling/build.sh create mode 100644 autotest/ubuntu-rolling/build/Dockerfile delete mode 100644 autotest/ubuntu-rolling/docker-compose.yml create mode 100755 autotest/ubuntu-rolling/prep.sh create mode 100644 autotest/ubuntu-rolling/prep/Dockerfile create mode 100755 autotest/ubuntu-rolling/test.sh diff --git a/.gitignore b/.gitignore index 18d405f..7265574 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ cov-int -build +/build test/abi/new test/abi/stable/ABI.dump diff --git a/DOCKER_TESTING.md b/DOCKER_TESTING.md index ec2a6a4..51b00fc 100644 --- a/DOCKER_TESTING.md +++ b/DOCKER_TESTING.md @@ -7,4 +7,4 @@ Dockerfiles are available to test the latest build on different platforms: * debian:latest - autotest/debian-latest To test, in the project root directory, run:
-```docker-compose --file autotest//docker-compose.yml build``` \ No newline at end of file +```./autotest//test.sh``` diff --git a/autotest/centos-latest/Dockerfile b/autotest/centos-latest/Dockerfile deleted file mode 100644 index 037e2ff..0000000 --- a/autotest/centos-latest/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM centos:latest -ADD ./ /code -WORKDIR /code -RUN yum -y install epel-release -RUN yum -y update epel-release -RUN yum -y install meson gcc "pkgconfig(libzstd)" "pkgconfig(libcurl)" "pkgconfig(openssl)" -RUN meson build --auto-features=enabled -RUN ninja-build -C build test diff --git a/autotest/centos-latest/build.sh b/autotest/centos-latest/build.sh new file mode 100755 index 0000000..02aef2c --- /dev/null +++ b/autotest/centos-latest/build.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Build zchunk-centos:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-centos:latest) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/centos-latest/prep.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker image rm zchunk-centos:test -f 2>/dev/null 1>/dev/null +docker image build -t zchunk-centos:test --file autotest/centos-latest/build/Dockerfile ./ + diff --git a/autotest/centos-latest/build/Dockerfile b/autotest/centos-latest/build/Dockerfile new file mode 100644 index 0000000..96a6ccd --- /dev/null +++ b/autotest/centos-latest/build/Dockerfile @@ -0,0 +1,6 @@ +FROM zchunk-centos:latest +ADD ./ /code +WORKDIR /code +RUN meson build --auto-features=enabled && cd build && ninja-build +WORKDIR /code/build +CMD ninja-build test diff --git a/autotest/centos-latest/docker-compose.yml b/autotest/centos-latest/docker-compose.yml deleted file mode 100644 index 712ca1d..0000000 --- a/autotest/centos-latest/docker-compose.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '3' -services: - test: - build: - context: ../../ - dockerfile: ./autotest/centos-latest/Dockerfile diff --git a/autotest/centos-latest/prep.sh b/autotest/centos-latest/prep.sh new file mode 100755 index 0000000..a565d3d --- /dev/null +++ b/autotest/centos-latest/prep.sh @@ -0,0 +1,7 @@ +#!/bin/sh +docker pull centos:latest +if [ "$?" -ne 0 ]; then + exit 1 +fi +docker image rm -f zchunk-centos:latest 2>/dev/null 1>/dev/null +docker image build -t zchunk-centos:latest --file autotest/centos-latest/prep/Dockerfile ./ diff --git a/autotest/centos-latest/prep/Dockerfile b/autotest/centos-latest/prep/Dockerfile new file mode 100644 index 0000000..7dd2377 --- /dev/null +++ b/autotest/centos-latest/prep/Dockerfile @@ -0,0 +1,2 @@ +FROM centos:latest +RUN yum -y install epel-release && yum -y update epel-release && yum -y install meson gcc "pkgconfig(libzstd)" "pkgconfig(libcurl)" "pkgconfig(openssl)" && rm -rf /var/cache/yum diff --git a/autotest/centos-latest/test.sh b/autotest/centos-latest/test.sh new file mode 100755 index 0000000..dd547c4 --- /dev/null +++ b/autotest/centos-latest/test.sh @@ -0,0 +1,15 @@ +#!/bin/sh +# Build zchunk-centos:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-centos:test) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/centos-latest/build.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker rm zchunk-centos-test -f 2>/dev/null 1>/dev/null +docker run --name zchunk-centos-test zchunk-centos:test +RETVAL=$? +docker rm zchunk-centos-test -f 2>/dev/null 1>/dev/null +docker image rm zchunk-centos:test -f 2>/dev/null 1>/dev/null +exit $RETVAL diff --git a/autotest/debian-latest/Dockerfile b/autotest/debian-latest/Dockerfile deleted file mode 100644 index 149a9d9..0000000 --- a/autotest/debian-latest/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM debian:latest -ADD ./ /code -WORKDIR /code -RUN /bin/bash -c 'echo deb http://ftp.debian.org/debian stretch-backports main >> /etc/apt/sources.list' -RUN apt-get update -RUN cat /etc/apt/sources.list -RUN /bin/bash -c 'export DEBIAN_FRONTEND=noninteractive; apt-get -yqt stretch-backports install meson libzstd-dev' -RUN /bin/bash -c 'export DEBIAN_FRONTEND=noninteractive; apt-get -yq install gcc pkg-config libcurl4-openssl-dev libssl-dev' -RUN meson build -RUN ninja -C build test diff --git a/autotest/debian-latest/build.sh b/autotest/debian-latest/build.sh new file mode 100755 index 0000000..c2c21b4 --- /dev/null +++ b/autotest/debian-latest/build.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Build zchunk-debian:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-debian:latest) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/debian-latest/prep.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker image rm zchunk-debian:test -f 2>/dev/null 1>/dev/null +docker image build -t zchunk-debian:test --file autotest/debian-latest/build/Dockerfile ./ + diff --git a/autotest/debian-latest/build/Dockerfile b/autotest/debian-latest/build/Dockerfile new file mode 100644 index 0000000..73dac8d --- /dev/null +++ b/autotest/debian-latest/build/Dockerfile @@ -0,0 +1,6 @@ +FROM zchunk-debian:latest +ADD ./ /code +WORKDIR /code +RUN meson build && cd build && ninja +WORKDIR /code/build +CMD ninja test diff --git a/autotest/debian-latest/docker-compose.yml b/autotest/debian-latest/docker-compose.yml deleted file mode 100644 index d43de16..0000000 --- a/autotest/debian-latest/docker-compose.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '3' -services: - test: - build: - context: ../../ - dockerfile: ./autotest/debian-latest/Dockerfile diff --git a/autotest/debian-latest/prep.sh b/autotest/debian-latest/prep.sh new file mode 100755 index 0000000..b0a0ec8 --- /dev/null +++ b/autotest/debian-latest/prep.sh @@ -0,0 +1,7 @@ +#!/bin/sh +docker pull debian:latest +if [ "$?" -ne 0 ]; then + exit 1 +fi +docker image rm -f zchunk-debian:latest 2>/dev/null 1>/dev/null +docker image build -t zchunk-debian:latest --file autotest/debian-latest/prep/Dockerfile ./ diff --git a/autotest/debian-latest/prep/Dockerfile b/autotest/debian-latest/prep/Dockerfile new file mode 100644 index 0000000..86bf1e0 --- /dev/null +++ b/autotest/debian-latest/prep/Dockerfile @@ -0,0 +1,2 @@ +FROM debian:latest +RUN /bin/bash -c 'echo deb http://ftp.debian.org/debian stretch-backports main >> /etc/apt/sources.list && apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get -yqt stretch-backports install meson libzstd-dev && apt-get -yq install gcc pkg-config libcurl4-openssl-dev libssl-dev' diff --git a/autotest/debian-latest/test.sh b/autotest/debian-latest/test.sh new file mode 100755 index 0000000..4bc1ab4 --- /dev/null +++ b/autotest/debian-latest/test.sh @@ -0,0 +1,15 @@ +#!/bin/sh +# Build zchunk-debian:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-debian:test) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/debian-latest/build.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker rm zchunk-debian-test -f 2>/dev/null 1>/dev/null +docker run --name zchunk-debian-test zchunk-debian:test +RETVAL=$? +docker rm zchunk-debian-test -f 2>/dev/null 1>/dev/null +docker image rm zchunk-debian:test -f 2>/dev/null 1>/dev/null +exit $RETVAL diff --git a/autotest/fedora-latest/Dockerfile b/autotest/fedora-latest/Dockerfile deleted file mode 100644 index 435113e..0000000 --- a/autotest/fedora-latest/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM fedora:latest -ADD ./ /code -WORKDIR /code -RUN dnf -y install meson gcc "pkgconfig(libzstd)" "pkgconfig(libcurl)" "pkgconfig(openssl)" -RUN meson build --auto-features=enabled -RUN ninja -C build test diff --git a/autotest/fedora-latest/build.sh b/autotest/fedora-latest/build.sh new file mode 100755 index 0000000..d988967 --- /dev/null +++ b/autotest/fedora-latest/build.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Build zchunk-fedora:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-fedora:latest) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/fedora-latest/prep.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker image rm zchunk-fedora:test -f 2>/dev/null 1>/dev/null +docker image build -t zchunk-fedora:test --file autotest/fedora-latest/build/Dockerfile ./ + diff --git a/autotest/fedora-latest/build/Dockerfile b/autotest/fedora-latest/build/Dockerfile new file mode 100644 index 0000000..902f3ad --- /dev/null +++ b/autotest/fedora-latest/build/Dockerfile @@ -0,0 +1,6 @@ +FROM zchunk-fedora:latest +ADD ./ /code +WORKDIR /code +RUN meson build && cd build && ninja +WORKDIR /code/build +CMD ninja test diff --git a/autotest/fedora-latest/docker-compose.yml b/autotest/fedora-latest/docker-compose.yml deleted file mode 100644 index 7069e3d..0000000 --- a/autotest/fedora-latest/docker-compose.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '3' -services: - test: - build: - context: ../../ - dockerfile: ./autotest/fedora-latest/Dockerfile diff --git a/autotest/fedora-latest/prep.sh b/autotest/fedora-latest/prep.sh new file mode 100755 index 0000000..9095923 --- /dev/null +++ b/autotest/fedora-latest/prep.sh @@ -0,0 +1,7 @@ +#!/bin/sh +docker pull fedora:latest +if [ "$?" -ne 0 ]; then + exit 1 +fi +docker image rm -f zchunk-fedora:latest 2>/dev/null 1>/dev/null +docker image build -t zchunk-fedora:latest --file autotest/fedora-latest/prep/Dockerfile ./ diff --git a/autotest/fedora-latest/prep/Dockerfile b/autotest/fedora-latest/prep/Dockerfile new file mode 100644 index 0000000..4e7944d --- /dev/null +++ b/autotest/fedora-latest/prep/Dockerfile @@ -0,0 +1,2 @@ +FROM fedora:latest +RUN dnf -y install meson gcc "pkgconfig(libzstd)" "pkgconfig(libcurl)" "pkgconfig(openssl)" && rm -rf /var/cache/dnf diff --git a/autotest/fedora-latest/test.sh b/autotest/fedora-latest/test.sh new file mode 100755 index 0000000..3673dcf --- /dev/null +++ b/autotest/fedora-latest/test.sh @@ -0,0 +1,15 @@ +#!/bin/sh +# Build zchunk-fedora:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-fedora:test) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/fedora-latest/build.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker rm zchunk-fedora-test -f 2>/dev/null 1>/dev/null +docker run --name zchunk-fedora-test zchunk-fedora:test +RETVAL=$? +docker rm zchunk-fedora-test -f 2>/dev/null 1>/dev/null +docker image rm zchunk-fedora:test -f 2>/dev/null 1>/dev/null +exit $RETVAL diff --git a/autotest/opensuse-leap/Dockerfile b/autotest/opensuse-leap/Dockerfile deleted file mode 100644 index aae3866..0000000 --- a/autotest/opensuse-leap/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM opensuse/leap -ADD ./ /code -WORKDIR /code -RUN zypper --non-interactive install meson gcc pkgconfig "pkgconfig(libzstd)" "pkgconfig(libcurl)" "pkgconfig(openssl)" -RUN meson build -RUN ninja -C build test diff --git a/autotest/opensuse-leap/build.sh b/autotest/opensuse-leap/build.sh new file mode 100755 index 0000000..c1bf612 --- /dev/null +++ b/autotest/opensuse-leap/build.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Build zchunk-opensuse:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-opensuse:latest) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/opensuse-leap/prep.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker image rm zchunk-opensuse:test -f 2>/dev/null 1>/dev/null +docker image build -t zchunk-opensuse:test --file autotest/opensuse-leap/build/Dockerfile ./ + diff --git a/autotest/opensuse-leap/build/Dockerfile b/autotest/opensuse-leap/build/Dockerfile new file mode 100644 index 0000000..157b2c5 --- /dev/null +++ b/autotest/opensuse-leap/build/Dockerfile @@ -0,0 +1,6 @@ +FROM zchunk-opensuse:latest +ADD ./ /code +WORKDIR /code +RUN meson build && cd build && ninja +WORKDIR /code/build +CMD ninja test diff --git a/autotest/opensuse-leap/docker-compose.yml b/autotest/opensuse-leap/docker-compose.yml deleted file mode 100644 index f305465..0000000 --- a/autotest/opensuse-leap/docker-compose.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '3' -services: - test: - build: - context: ../../ - dockerfile: ./autotest/opensuse-leap/Dockerfile diff --git a/autotest/opensuse-leap/prep.sh b/autotest/opensuse-leap/prep.sh new file mode 100755 index 0000000..f1a0c89 --- /dev/null +++ b/autotest/opensuse-leap/prep.sh @@ -0,0 +1,7 @@ +#!/bin/sh +docker pull opensuse/leap +if [ "$?" -ne 0 ]; then + exit 1 +fi +docker image rm -f zchunk-opensuse:latest 2>/dev/null 1>/dev/null +docker image build -t zchunk-opensuse:latest --file autotest/opensuse-leap/prep/Dockerfile ./ diff --git a/autotest/opensuse-leap/prep/Dockerfile b/autotest/opensuse-leap/prep/Dockerfile new file mode 100644 index 0000000..9b66e9a --- /dev/null +++ b/autotest/opensuse-leap/prep/Dockerfile @@ -0,0 +1,2 @@ +FROM opensuse/leap +RUN zypper --non-interactive install meson gcc pkgconfig "pkgconfig(libzstd)" "pkgconfig(libcurl)" "pkgconfig(openssl)" && rm -rf /var/cache/zypp diff --git a/autotest/opensuse-leap/test.sh b/autotest/opensuse-leap/test.sh new file mode 100755 index 0000000..93fdb4f --- /dev/null +++ b/autotest/opensuse-leap/test.sh @@ -0,0 +1,15 @@ +#!/bin/sh +# Build zchunk-opensuse:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-opensuse:test) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/opensuse-leap/build.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker rm zchunk-opensuse-test -f 2>/dev/null 1>/dev/null +docker run --name zchunk-opensuse-test zchunk-opensuse:test +RETVAL=$? +docker rm zchunk-opensuse-test -f 2>/dev/null 1>/dev/null +docker image rm zchunk-opensuse:test -f 2>/dev/null 1>/dev/null +exit $RETVAL diff --git a/autotest/ubuntu-rolling/Dockerfile b/autotest/ubuntu-rolling/Dockerfile deleted file mode 100644 index f811377..0000000 --- a/autotest/ubuntu-rolling/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM ubuntu:rolling -ADD ./ /code -WORKDIR /code -RUN apt-get update -RUN /bin/bash -c 'export DEBIAN_FRONTEND=noninteractive; apt-get -yq install meson gcc pkg-config libzstd-dev libcurl4-openssl-dev libssl-dev' -RUN meson build -RUN ninja -C build test diff --git a/autotest/ubuntu-rolling/build.sh b/autotest/ubuntu-rolling/build.sh new file mode 100755 index 0000000..a484200 --- /dev/null +++ b/autotest/ubuntu-rolling/build.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Build zchunk-ubuntu:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-ubuntu:latest) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/ubuntu-rolling/prep.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker image rm zchunk-ubuntu:test -f 2>/dev/null 1>/dev/null +docker image build -t zchunk-ubuntu:test --file autotest/ubuntu-rolling/build/Dockerfile ./ + diff --git a/autotest/ubuntu-rolling/build/Dockerfile b/autotest/ubuntu-rolling/build/Dockerfile new file mode 100644 index 0000000..f460fe9 --- /dev/null +++ b/autotest/ubuntu-rolling/build/Dockerfile @@ -0,0 +1,6 @@ +FROM zchunk-ubuntu:latest +ADD ./ /code +WORKDIR /code +RUN meson build && cd build && ninja +WORKDIR /code/build +CMD ninja test diff --git a/autotest/ubuntu-rolling/docker-compose.yml b/autotest/ubuntu-rolling/docker-compose.yml deleted file mode 100644 index a35dd2d..0000000 --- a/autotest/ubuntu-rolling/docker-compose.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '3' -services: - test: - build: - context: ../../ - dockerfile: ./autotest/ubuntu-rolling/Dockerfile diff --git a/autotest/ubuntu-rolling/prep.sh b/autotest/ubuntu-rolling/prep.sh new file mode 100755 index 0000000..79ae5bb --- /dev/null +++ b/autotest/ubuntu-rolling/prep.sh @@ -0,0 +1,7 @@ +#!/bin/sh +docker pull ubuntu:rolling +if [ "$?" -ne 0 ]; then + exit 1 +fi +docker image rm -f zchunk-ubuntu:latest 2>/dev/null 1>/dev/null +docker image build -t zchunk-ubuntu:latest --file autotest/ubuntu-rolling/prep/Dockerfile ./ diff --git a/autotest/ubuntu-rolling/prep/Dockerfile b/autotest/ubuntu-rolling/prep/Dockerfile new file mode 100644 index 0000000..aab1775 --- /dev/null +++ b/autotest/ubuntu-rolling/prep/Dockerfile @@ -0,0 +1,2 @@ +FROM ubuntu:rolling +RUN /bin/bash -c 'apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get -yq install meson gcc pkg-config libzstd-dev libcurl4-openssl-dev libssl-dev' diff --git a/autotest/ubuntu-rolling/test.sh b/autotest/ubuntu-rolling/test.sh new file mode 100755 index 0000000..b2345b3 --- /dev/null +++ b/autotest/ubuntu-rolling/test.sh @@ -0,0 +1,15 @@ +#!/bin/sh +# Build zchunk-ubuntu:latest if it doesn't exist +HAVE_IMAGE=$(docker image ls -q zchunk-ubuntu:test) +if [ "$HAVE_IMAGE" == "" ]; then + autotest/ubuntu-rolling/build.sh + if [ "$?" -ne 0 ]; then + exit 1 + fi +fi +docker rm zchunk-ubuntu-test -f 2>/dev/null 1>/dev/null +docker run --name zchunk-ubuntu-test zchunk-ubuntu:test +RETVAL=$? +docker rm zchunk-ubuntu-test -f 2>/dev/null 1>/dev/null +docker image rm zchunk-ubuntu:test -f 2>/dev/null 1>/dev/null +exit $RETVAL -- 2.30.2