mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
mkosi: Add centos_epel config
Now that mkosi has centos-stream 9 support, let's add a config in
the repo so that the mkosi CI tests that configuration as well.
Centos doesn't support btrfs so we use xfs instead. For some reason,
building --hostonly-initrd centos images breaks the qemu boot so I
disabled that option for centos.
We update the mkosi commit hash to 0dd39c20a4
which adds the PowerTools repo to CentOS Stream 8 which is required
to make all the necessary packages required to build systemd on
CentOS Stream 8 available.
This commit is contained in:
parent
6b2ab8fc5c
commit
24a0df5c3c
45
.github/workflows/mkosi.yml
vendored
45
.github/workflows/mkosi.yml
vendored
@ -31,25 +31,46 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
distro:
|
||||
- arch
|
||||
- debian
|
||||
- ubuntu
|
||||
- fedora
|
||||
- opensuse
|
||||
include:
|
||||
- distro: arch
|
||||
release: rolling
|
||||
- distro: debian
|
||||
release: testing
|
||||
- distro: ubuntu
|
||||
release: focal
|
||||
- distro: fedora
|
||||
release: "35"
|
||||
- distro: opensuse
|
||||
release: tumbleweed
|
||||
- distro: centos_epel
|
||||
release: 8-stream
|
||||
# TODO: Enable once https://github.com/systemd/mkosi/pull/915#issuecomment-1049035316 is fixed.
|
||||
# - distro: centos_epel
|
||||
# release: 9-stream
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
|
||||
- uses: systemd/mkosi@30288805db1a953ea31045933adb93194f91e3da
|
||||
- uses: systemd/mkosi@0dd39c20a4b3a2fab6efdc54da92bffad7c7b7ca
|
||||
|
||||
- name: Install
|
||||
run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect python3-jinja2
|
||||
|
||||
- name: Configure
|
||||
run: echo -e "[Distribution]\nDistribution=${{ matrix.distro }}\n" >mkosi.default
|
||||
run: |
|
||||
tee mkosi.default <<- EOF
|
||||
[Distribution]
|
||||
Distribution=${{ matrix.distro }}
|
||||
Release=${{ matrix.release }}
|
||||
|
||||
[Content]
|
||||
Environment=CI_BUILD=1
|
||||
|
||||
[Output]
|
||||
KernelCommandLine=${{ env.KERNEL_CMDLINE }}
|
||||
EOF
|
||||
|
||||
- name: Build ${{ matrix.distro }}
|
||||
run: ./.github/workflows/run_mkosi.sh --build-environment=CI_BUILD=1 --kernel-command-line "${{ env.KERNEL_CMDLINE }}" build
|
||||
run: ./.github/workflows/run_mkosi.sh build
|
||||
|
||||
- name: Show ${{ matrix.distro }} image summary
|
||||
run: ./.github/workflows/run_mkosi.sh summary
|
||||
@ -60,8 +81,14 @@ jobs:
|
||||
- name: Check ${{ matrix.distro }} systemd-nspawn
|
||||
run: ./.github/workflows/run_mkosi.sh shell bash -c "[[ -e /testok ]] || { cat /failed-services; exit 1; }"
|
||||
|
||||
# TODO: Remove CentOS exclusion once Ubuntu 22.04 is available in GA.
|
||||
# See https://github.com/systemd/systemd/pull/22417 and https://github.com/systemd/mkosi/pull/907 for
|
||||
# more information.
|
||||
|
||||
- name: Boot ${{ matrix.distro }} QEMU
|
||||
if: ${{ matrix.distro != 'centos_epel' }}
|
||||
run: ./.github/workflows/run_mkosi.sh qemu
|
||||
|
||||
- name: Check ${{ matrix.distro }} QEMU
|
||||
if: ${{ matrix.distro != 'centos_epel' }}
|
||||
run: ./.github/workflows/run_mkosi.sh shell bash -c "[[ -e /testok ]] || { cat /failed-services; exit 1; }"
|
||||
|
86
mkosi.default.d/centos_epel/10-mkosi.centos_epel
Normal file
86
mkosi.default.d/centos_epel/10-mkosi.centos_epel
Normal file
@ -0,0 +1,86 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
|
||||
# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
|
||||
|
||||
[Distribution]
|
||||
Distribution=centos_epel
|
||||
|
||||
[Output]
|
||||
Format=gpt_xfs
|
||||
HostonlyInitrd=no
|
||||
|
||||
[Packages]
|
||||
BuildPackages=
|
||||
diffutils
|
||||
docbook-style-xsl
|
||||
findutils
|
||||
gcc
|
||||
gettext
|
||||
git
|
||||
glibc-minimal-langpack
|
||||
gnu-efi
|
||||
gnu-efi-devel
|
||||
gperf
|
||||
lz4
|
||||
meson
|
||||
ninja-build
|
||||
pam-devel
|
||||
# CentOS Stream 8 libgcrypt-devel doesn't ship a pkg-config file.
|
||||
libgcrypt-devel
|
||||
pkgconfig
|
||||
pkgconfig(audit)
|
||||
pkgconfig(blkid)
|
||||
pkgconfig(bzip2)
|
||||
pkgconfig(dbus-1)
|
||||
pkgconfig(fdisk)
|
||||
pkgconfig(gnutls)
|
||||
pkgconfig(libacl)
|
||||
pkgconfig(libcap)
|
||||
pkgconfig(libcryptsetup)
|
||||
pkgconfig(libcurl)
|
||||
pkgconfig(libdw)
|
||||
pkgconfig(libidn2)
|
||||
pkgconfig(libkmod)
|
||||
pkgconfig(liblz4)
|
||||
pkgconfig(liblzma)
|
||||
pkgconfig(libmicrohttpd)
|
||||
pkgconfig(libpcre2-8)
|
||||
pkgconfig(libqrencode)
|
||||
pkgconfig(libseccomp)
|
||||
pkgconfig(libselinux)
|
||||
pkgconfig(libzstd)
|
||||
pkgconfig(mount)
|
||||
pkgconfig(openssl)
|
||||
pkgconfig(p11-kit-1)
|
||||
pkgconfig(pwquality)
|
||||
pkgconfig(tss2-esys)
|
||||
pkgconfig(tss2-mu)
|
||||
pkgconfig(tss2-rc)
|
||||
pkgconfig(valgrind)
|
||||
pkgconfig(xkbcommon)
|
||||
python3dist(jinja2)
|
||||
python3dist(lxml)
|
||||
rpm
|
||||
tree
|
||||
zstd
|
||||
/usr/bin/xsltproc
|
||||
|
||||
Packages=
|
||||
gdb
|
||||
nano
|
||||
# procps-ng provides a set of useful utilities (ps, free, etc)
|
||||
procps-ng
|
||||
strace
|
||||
tpm2-tss
|
||||
less
|
||||
netcat
|
||||
e2fsprogs
|
||||
# Required to run systemd-networkd-tests.py
|
||||
python3
|
||||
iproute
|
||||
iproute-tc
|
||||
dnsmasq
|
||||
wireguard-tools
|
||||
dhcp-server
|
||||
kernel-modules-extra
|
Loading…
Reference in New Issue
Block a user