strategy:
fail-fast: false
matrix:
- container_directory: [fedora-latest, centos-7, alpine-edge, opensuse-leap, debian-latest, ubuntu-rolling, ubuntu-lts]
+ container_directory: [fedora-latest, centos-7, centos-8-stream, centos-9-stream, alpine-edge, opensuse-leap, debian-latest, ubuntu-rolling, ubuntu-lts]
name: Compile and run tests
steps:
--- /dev/null
+#!/bin/bash
+# Build zchunk-centos:8 if it doesn't exist
+HAVE_IMAGE=$(docker image ls -q zchunk-centos:8)
+if [ "$HAVE_IMAGE" == "" ]; then
+ autotest/centos-8-stream/prep.sh
+ if [ "$?" -ne 0 ]; then
+ exit 1
+ fi
+fi
+docker image rm zchunk-centos-8:test -f 2>/dev/null 1>/dev/null
+docker image build -t zchunk-centos-8:test --file autotest/centos-8-stream/build/Dockerfile ./
--- /dev/null
+FROM zchunk-centos:8
+ADD ./ /code
+WORKDIR /code
+RUN meson build --auto-features=enabled && cd build && ninja-build
+WORKDIR /code/build
+CMD ninja-build test
--- /dev/null
+#!/bin/bash
+docker pull docker.io/tgagor/centos:stream8
+if [ "$?" -ne 0 ]; then
+ exit 1
+fi
+docker image rm -f zchunk-centos:8 2>/dev/null 1>/dev/null
+docker image build -t zchunk-centos:8 --file autotest/centos-8-stream/prep/Dockerfile ./
--- /dev/null
+FROM docker.io/tgagor/centos:stream8
+RUN sed -i "s/enabled=0/enabled=1/" /etc/yum.repos.d/CentOS-Stream-PowerTools.repo && dnf -y install meson gcc "pkgconfig(libzstd)" "pkgconfig(libcurl)" "pkgconfig(openssl)" && rm -rf /var/cache/yum
--- /dev/null
+#!/bin/bash
+# Build zchunk-centos:8 if it doesn't exist
+HAVE_IMAGE=$(docker image ls -q zchunk-centos-8:test)
+if [ "$HAVE_IMAGE" == "" ]; then
+ autotest/centos-8-stream/build.sh
+ if [ "$?" -ne 0 ]; then
+ exit 1
+ fi
+fi
+docker rm zchunk-centos-8-test -f 2>/dev/null 1>/dev/null
+docker run --name zchunk-centos-8-test zchunk-centos-8:test
+RETVAL=$?
+docker rm zchunk-centos-8-test -f 2>/dev/null 1>/dev/null
+docker image rm zchunk-centos-8:test -f 2>/dev/null 1>/dev/null
+exit $RETVAL
--- /dev/null
+#!/bin/bash
+# Build zchunk-centos:9 if it doesn't exist
+HAVE_IMAGE=$(docker image ls -q zchunk-centos:9)
+if [ "$HAVE_IMAGE" == "" ]; then
+ autotest/centos-9-stream/prep.sh
+ if [ "$?" -ne 0 ]; then
+ exit 1
+ fi
+fi
+docker image rm zchunk-centos-9:test -f 2>/dev/null 1>/dev/null
+docker image build -t zchunk-centos-9:test --file autotest/centos-9-stream/build/Dockerfile ./
--- /dev/null
+FROM zchunk-centos:9
+ADD ./ /code
+WORKDIR /code
+RUN meson build --auto-features=enabled && cd build && ninja-build
+WORKDIR /code/build
+CMD ninja-build test
--- /dev/null
+#!/bin/bash
+docker pull docker.io/tgagor/centos:stream9
+if [ "$?" -ne 0 ]; then
+ exit 1
+fi
+docker image rm -f zchunk-centos:9 2>/dev/null 1>/dev/null
+docker image build -t zchunk-centos:9 --file autotest/centos-9-stream/prep/Dockerfile ./
--- /dev/null
+FROM docker.io/tgagor/centos:stream9
+RUN dnf -y install "dnf-command(config-manager)" && dnf -y config-manager --set-enabled crb && dnf -y install meson gcc "pkgconfig(libzstd)" "pkgconfig(libcurl)" "pkgconfig(openssl)" && rm -rf /var/cache/yum
--- /dev/null
+#!/bin/bash
+# Build zchunk-centos:9 if it doesn't exist
+HAVE_IMAGE=$(docker image ls -q zchunk-centos-9:test)
+if [ "$HAVE_IMAGE" == "" ]; then
+ autotest/centos-9-stream/build.sh
+ if [ "$?" -ne 0 ]; then
+ exit 1
+ fi
+fi
+docker rm zchunk-centos-9-test -f 2>/dev/null 1>/dev/null
+docker run --name zchunk-centos-9-test zchunk-centos-9:test
+RETVAL=$?
+docker rm zchunk-centos-9-test -f 2>/dev/null 1>/dev/null
+docker image rm zchunk-centos-9:test -f 2>/dev/null 1>/dev/null
+exit $RETVAL