mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +02:00
GHA: Fix Alpine LibreSSL
First, the icinga_legacytimeperiod/dst test was excluded, as it fails on Alpine most likely due to some differences between musl and glibc. After some debugging, I disabled the test as the Alpine packages does. More build dependencies were added from the Alpine package, allowing to only disable MySQL and PostgreSQL support as these libraries have fixed dependencies on OpenSSL, conflicting with LibreSSL. In addition, I have added comments where I was first puzzled.
This commit is contained in:
parent
d387f0cd18
commit
b521a9742e
6
.github/workflows/alpine-bash.Dockerfile
vendored
6
.github/workflows/alpine-bash.Dockerfile
vendored
@ -1,2 +1,8 @@
|
||||
# This Dockerfile is used in the linux job for Alpine Linux.
|
||||
#
|
||||
# As the linux.bash script is, in fact, a bash script and Alpine does not ship
|
||||
# a bash by default, the "alpine:bash" container will be built using this
|
||||
# Dockerfile in the GitHub Action.
|
||||
|
||||
FROM alpine:3
|
||||
RUN ["apk", "--no-cache", "add", "bash"]
|
||||
|
14
.github/workflows/linux.bash
vendored
14
.github/workflows/linux.bash
vendored
@ -8,9 +8,19 @@ CMAKE_OPTS=''
|
||||
|
||||
case "$DISTRO" in
|
||||
alpine:*)
|
||||
apk add bison {boost,libressl}-dev ccache cmake flex g++ ninja-build tzdata
|
||||
# Packages inspired by the Alpine package, just
|
||||
# - LibreSSL instead of OpenSSL 3 and
|
||||
# - no MariaDB or libpq as they depend on OpenSSL.
|
||||
# https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/icinga2/APKBUILD
|
||||
apk add bison boost-dev ccache cmake flex g++ libedit-dev libressl-dev 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)"
|
||||
|
||||
CMAKE_OPTS="-DUSE_SYSTEMD=OFF -DICINGA2_WITH_MYSQL=OFF -DICINGA2_WITH_PGSQL=OFF"
|
||||
|
||||
# This test fails due to some glibc/musl mismatch regarding timezone PST/PDT.
|
||||
# - https://www.openwall.com/lists/musl/2024/03/05/2
|
||||
# - https://gitlab.alpinelinux.org/alpine/aports/-/blob/b3ea02e2251451f9511086e1970f21eb640097f7/community/icinga2/disable-failing-tests.patch
|
||||
sed -i '/icinga_legacytimeperiod\/dst$/d' /icinga2/test/CMakeLists.txt
|
||||
;;
|
||||
|
||||
amazonlinux:2)
|
||||
|
7
.github/workflows/linux.yml
vendored
7
.github/workflows/linux.yml
vendored
@ -21,7 +21,10 @@ jobs:
|
||||
max-parallel: 2
|
||||
matrix:
|
||||
distro:
|
||||
- alpine:bash # LibreSSL, used on OpenBSD
|
||||
# Alpine Linux to build Icinga 2 with LibreSSL, OpenBSD's default.
|
||||
# The "alpine:bash" image will be built below based on "alpine:3".
|
||||
- alpine:bash
|
||||
|
||||
- amazonlinux:2
|
||||
- amazonlinux:2023
|
||||
|
||||
@ -69,7 +72,7 @@ jobs:
|
||||
path: ccache
|
||||
key: ccache/${{ matrix.distro }}
|
||||
|
||||
- name: Build Docker image
|
||||
- name: Build Alpine Docker Image
|
||||
if: "matrix.distro == 'alpine:bash'"
|
||||
run: >-
|
||||
docker build --file .github/workflows/alpine-bash.Dockerfile
|
||||
|
Loading…
x
Reference in New Issue
Block a user