From ccde55a339d211af488b1f1c148597d7977a9bb8 Mon Sep 17 00:00:00 2001
From: Frantisek Sumsal <frantisek@sumsal.cz>
Date: Wed, 3 Mar 2021 12:49:20 +0100
Subject: [PATCH] ci: run unit tests on CentOS 8 Stream as well
rhel-only
Related: #1934504
---
.github/workflows/unit_tests.sh | 52 +++++++++++++++++++++++++++++++-
.github/workflows/unit_tests.yml | 13 ++++----
2 files changed, 58 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/unit_tests.sh b/.github/workflows/unit_tests.sh
index 43882b27da..8648e7149e 100755
--- a/.github/workflows/unit_tests.sh
+++ b/.github/workflows/unit_tests.sh
@@ -58,6 +58,53 @@ CONFIGURE_OPTS=(
-Ddefault-hierarchy=legacy
)
+# CentOS 8 Stream still doesn't provide SRPMs, so we can't use dnf's builddep
+# command to fetch this list for us. Hopefully, we'll be able to get rid
+# of this in the future.
+# See: https://bugs.centos.org/view.php?id=16715
+SYSTEMD_BUILD_DEPS=(
+ audit-libs-devel
+ bzip2-devel
+ cryptsetup-devel
+ dbus-devel
+ docbook-style-xsl
+ elfutils-devel
+ firewalld-filesystem
+ gcc
+ gcc-c++
+ gettext
+ git
+ gnu-efi
+ gnu-efi-devel
+ gnutls-devel
+ gobject-introspection-devel
+ gperf
+ iptables-devel
+ kmod-devel
+ libacl-devel
+ libblkid-devel
+ libcap-devel
+ libcurl-devel
+ libgcrypt-devel
+ libgpg-error-devel
+ libidn2-devel
+ libmicrohttpd-devel
+ libmount-devel
+ libseccomp-devel
+ libselinux-devel
+ libxkbcommon-devel
+ libxslt
+ lz4
+ lz4-devel
+ meson
+ pam-devel
+ pkgconf-pkg-config
+ python3-lxml
+ python36-devel
+ tree
+ xz-devel
+)
+
function info() {
echo -e "\033[33;1m$1\033[0m"
}
@@ -85,7 +132,10 @@ for phase in "${PHASES[@]}"; do
# Upgrade the container to get the most recent environment
$DOCKER_EXEC dnf -y upgrade
# Install systemd's build dependencies
- $DOCKER_EXEC dnf -q -y --enablerepo "powertools" builddep systemd
+ if ! $DOCKER_EXEC dnf -q -y --enablerepo "powertools" builddep systemd; then
+ # See the $SYSTEMD_BUILD_DEPS above for reasoning
+ $DOCKER_EXEC dnf -q -y --enablerepo "powertools" install "${SYSTEMD_BUILD_DEPS[@]}"
+ fi
;;
RUN|RUN_GCC)
info "Run phase"
diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml
index 428bde4ed8..b363118be8 100644
--- a/.github/workflows/unit_tests.yml
+++ b/.github/workflows/unit_tests.yml
@@ -7,19 +7,20 @@ on: [pull_request]
jobs:
build:
runs-on: ubuntu-20.04
- env:
- CENTOS_RELEASE: "centos8"
- CONT_NAME: "systemd-centos8-ci"
strategy:
fail-fast: false
matrix:
- run_phase: [GCC, GCC_ASAN]
+ image: [centos8, stream8]
+ phase: [GCC, GCC_ASAN]
+ env:
+ CONT_NAME: "systemd-centos8-ci"
+ CENTOS_RELEASE: ${{ matrix.image }}
steps:
- name: Repository checkout
uses: actions/checkout@v1
- name: Install build dependencies
run: sudo -E .github/workflows/unit_tests.sh SETUP
- - name: Build & test (${{ matrix.run_phase }})
- run: sudo -E .github/workflows/unit_tests.sh RUN_${{ matrix.run_phase }}
+ - name: Build & test (${{ env.CENTOS_RELEASE }} / ${{ matrix.phase }})
+ run: sudo -E .github/workflows/unit_tests.sh RUN_${{ matrix.phase }}
- name: Cleanup
run: sudo -E .github/workflows/unit_tests.sh CLEANUP