mirror of
https://github.com/Icinga/icinga2.git
synced 2025-08-21 17:48:18 +02:00
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.
85 lines
2.2 KiB
YAML
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
|