Alvar Penning b521a9742e 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.
2025-03-18 11:21:53 +01:00

85 lines
2.2 KiB
YAML

name: Linux
on:
push:
branches:
- master
- 'support/*'
pull_request: {}
concurrency:
group: linux-${{ github.event_name == 'push' && github.sha || github.ref }}
cancel-in-progress: true
jobs:
linux:
name: ${{ matrix.distro }}${{ matrix.platform != 'linux/amd64' && format(' ({0})', matrix.platform) || '' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 2
matrix:
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:2023
# Raspberry Pi OS is close enough to Debian to test just one of them.
# Its architecture is different, though, and covered by the Docker job.
- debian:11
- debian:12
- fedora:39
- fedora:40
- fedora:41
- opensuse/leap:15.5
- opensuse/leap:15.6
# We don't actually support Rocky Linux as such!
# We just use that RHEL clone to test the original.
- rockylinux:8
- rockylinux:9
- registry.suse.com/suse/sle15:15.5
- registry.suse.com/suse/sle15:15.6
- ubuntu:20.04
- ubuntu:22.04
- ubuntu:24.04
- ubuntu:24.10
platform:
- linux/amd64
include:
- distro: debian:11
platform: linux/386
- distro: debian:12
platform: linux/386
steps:
- name: Checkout HEAD
uses: actions/checkout@v3
- name: Restore/backup ccache
uses: actions/cache@v3
with:
path: ccache
key: ccache/${{ matrix.distro }}
- 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: >-
docker run --rm -v "$(pwd):/icinga2" -e DISTRO=${{ matrix.distro }}
--platform ${{ matrix.platform }} ${{ matrix.distro }} /icinga2/.github/workflows/linux.bash