diff --git a/.github/workflows/alpine-bash.Dockerfile b/.github/workflows/alpine-bash.Dockerfile new file mode 100644 index 000000000..26f6a5f9e --- /dev/null +++ b/.github/workflows/alpine-bash.Dockerfile @@ -0,0 +1,2 @@ +FROM alpine:3 +RUN ["apk", "--no-cache", "add", "bash"] diff --git a/.github/workflows/linux.bash b/.github/workflows/linux.bash index a94f7d1b7..cb6ccb920 100755 --- a/.github/workflows/linux.bash +++ b/.github/workflows/linux.bash @@ -1,12 +1,18 @@ #!/bin/bash set -exo pipefail -export PATH="/usr/lib/ccache:/usr/lib64/ccache:$PATH" +export PATH="/usr/lib/ccache/bin:/usr/lib/ccache:/usr/lib64/ccache:$PATH" export CCACHE_DIR=/icinga2/ccache export CTEST_OUTPUT_ON_FAILURE=1 CMAKE_OPTS='' case "$DISTRO" in + alpine:*) + apk add bison {boost,libressl}-dev ccache cmake flex g++ ninja-build tzdata + ln -vs /usr/lib/ninja-build/bin/ninja /usr/local/bin/ninja + CMAKE_OPTS="-DUSE_SYSTEMD=OFF $(echo -DICINGA2_WITH_{MYSQL,PGSQL,COMPAT,LIVESTATUS,PERFDATA,ICINGADB}=OFF)" + ;; + amazonlinux:2) amazon-linux-extras install -y epel yum install -y bison ccache cmake3 gcc-c++ flex ninja-build \ diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 829161cce..ae8de5527 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -21,6 +21,7 @@ jobs: max-parallel: 2 matrix: distro: + - alpine:bash # LibreSSL, used on OpenBSD - amazonlinux:2 - amazonlinux:2023 @@ -68,7 +69,13 @@ jobs: path: ccache key: ccache/${{ matrix.distro }} - - name: Build + - name: Build Docker image + if: "matrix.distro == 'alpine:bash'" + run: >- + docker build --file .github/workflows/alpine-bash.Dockerfile + --tag alpine:bash `mktemp -d` + + - name: Build Icinga run: >- docker run --rm -v "$(pwd):/icinga2" -e DISTRO=${{ matrix.distro }} --platform ${{ matrix.platform }} ${{ matrix.distro }} /icinga2/.github/workflows/linux.bash