mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-25 22:54:57 +02:00
Merge pull request #9949 from Icinga/libressl
GHA: also build on Alpine to test LibreSSL which is used on OpenBSD
This commit is contained in:
commit
0673dfa644
8
.github/workflows/alpine-bash.Dockerfile
vendored
Normal file
8
.github/workflows/alpine-bash.Dockerfile
vendored
Normal file
@ -0,0 +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"]
|
18
.github/workflows/linux.bash
vendored
18
.github/workflows/linux.bash
vendored
@ -1,12 +1,28 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -exo pipefail
|
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 CCACHE_DIR=/icinga2/ccache
|
||||||
export CTEST_OUTPUT_ON_FAILURE=1
|
export CTEST_OUTPUT_ON_FAILURE=1
|
||||||
CMAKE_OPTS=()
|
CMAKE_OPTS=()
|
||||||
|
|
||||||
case "$DISTRO" in
|
case "$DISTRO" in
|
||||||
|
alpine:*)
|
||||||
|
# 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 -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)
|
amazonlinux:2)
|
||||||
amazon-linux-extras install -y epel
|
amazon-linux-extras install -y epel
|
||||||
yum install -y bison ccache cmake3 gcc-c++ flex ninja-build system-rpm-config \
|
yum install -y bison ccache cmake3 gcc-c++ flex ninja-build system-rpm-config \
|
||||||
|
12
.github/workflows/linux.yml
vendored
12
.github/workflows/linux.yml
vendored
@ -21,6 +21,10 @@ jobs:
|
|||||||
max-parallel: 2
|
max-parallel: 2
|
||||||
matrix:
|
matrix:
|
||||||
distro:
|
distro:
|
||||||
|
# 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:2
|
||||||
- amazonlinux:2023
|
- amazonlinux:2023
|
||||||
|
|
||||||
@ -68,7 +72,13 @@ jobs:
|
|||||||
path: ccache
|
path: ccache
|
||||||
key: ccache/${{ matrix.distro }}
|
key: ccache/${{ matrix.distro }}
|
||||||
|
|
||||||
- name: Build
|
- name: Build Alpine 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: >-
|
run: >-
|
||||||
docker run --rm -v "$(pwd):/icinga2" -e DISTRO=${{ matrix.distro }}
|
docker run --rm -v "$(pwd):/icinga2" -e DISTRO=${{ matrix.distro }}
|
||||||
--platform ${{ matrix.platform }} ${{ matrix.distro }} /icinga2/.github/workflows/linux.bash
|
--platform ${{ matrix.platform }} ${{ matrix.distro }} /icinga2/.github/workflows/linux.bash
|
||||||
|
Loading…
x
Reference in New Issue
Block a user