ci: restrict x86-only packages to x86 configs (#38056)

Prepare the ground for non-x86 CI jobs. Still work in progress, but
these preparatory steps work and can be already included.
This commit is contained in:
Luca Boccassi
2025-07-04 01:26:22 +01:00
committed by GitHub
15 changed files with 105 additions and 14 deletions

View File

@@ -43,7 +43,6 @@ PACKAGES=(
libqrencode-dev
libssl-dev
libtss2-dev
libxen-dev
libxkbcommon-dev
libxtables-dev
libzstd-dev
@@ -69,6 +68,10 @@ COMPILER_VERSION="${COMPILER_VERSION:?}"
LINKER="${LINKER:?}"
RELEASE="$(lsb_release -cs)"
if [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "x86_64" ]; then
PACKAGES+=(libxen-dev)
fi
# Note: As we use postfixed clang/gcc binaries, we need to override $AR
# as well, otherwise meson falls back to ar from binutils which
# doesn't work with LTO
@@ -95,7 +98,7 @@ if [[ "$COMPILER" == clang ]]; then
sudo tee /etc/apt/sources.list.d/llvm-toolchain.list
fi
PACKAGES+=("clang-$COMPILER_VERSION" "lldb-$COMPILER_VERSION" "python3-lldb-$COMPILER_VERSION" "lld-$COMPILER_VERSION" "clangd-$COMPILER_VERSION")
PACKAGES+=("clang-$COMPILER_VERSION" "lldb-$COMPILER_VERSION" "python3-lldb-$COMPILER_VERSION" "lld-$COMPILER_VERSION" "clangd-$COMPILER_VERSION" "llvm-$COMPILER_VERSION")
elif [[ "$COMPILER" == gcc ]]; then
CC="gcc-$COMPILER_VERSION"
CXX="g++-$COMPILER_VERSION"
@@ -109,7 +112,11 @@ elif [[ "$COMPILER" == gcc ]]; then
sudo add-apt-repository -y --no-update ppa:ubuntu-toolchain-r/test
fi
PACKAGES+=("gcc-$COMPILER_VERSION" "gcc-$COMPILER_VERSION-multilib")
PACKAGES+=("gcc-$COMPILER_VERSION")
if [ "$(uname -m)" = "x86_64" ]; then
# Only needed for ia32 EFI builds
PACKAGES+=("gcc-$COMPILER_VERSION-multilib")
fi
else
fatal "Unknown compiler: $COMPILER"
fi

View File

@@ -19,12 +19,11 @@ ADDITIONAL_DEPS=(
libxkbcommon-dev
libzstd-dev
python3-libevdev
python3-pefile
python3-pip
python3-pyelftools
python3-pyparsing
python3-pytest
rpm
systemd-boot-efi
zstd
)
@@ -43,6 +42,11 @@ set -ex
MESON_ARGS=()
if [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "x86_64" ]; then
ADDITIONAL_DEPS+=(python3-pefile)
ADDITIONAL_DEPS+=(systemd-boot-efi)
fi
# (Re)set the current oom-{score-}adj. For some reason root on GH actions is able to _decrease_
# its oom-score even after dropping all capabilities (including CAP_SYS_RESOURCE), until the
# score is explicitly changed after sudo. No idea what's going on, but it breaks

View File

@@ -8,7 +8,6 @@ Distribution=|fedora
PrepareScripts=systemd.prepare
VolatilePackages=
systemd
systemd-boot
systemd-container
systemd-devel
systemd-journal-remote

View File

@@ -0,0 +1,18 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Repositories=epel
Architecture=|x86
Architecture=|x86-64
Architecture=|arm
Architecture=|arm64
Architecture=|riscv32
Architecture=|riscv64
Architecture=|loongarch64
[Content]
Packages=
sbsigntools
VolatilePackages=
systemd-boot

View File

@@ -10,4 +10,3 @@ Packages=
erofs-utils
knot
qrencode
sbsigntools

View File

@@ -13,7 +13,6 @@ VolatilePackages=
libsystemd-shared-dbgsym
libsystemd0-dbgsym
libudev1-dbgsym
systemd-boot-dbgsym
systemd-container-dbgsym
systemd-coredump-dbgsym
systemd-cryptsetup-dbgsym

View File

@@ -0,0 +1,17 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Environment=WITH_DEBUG=1
[Match]
Architecture=|x86
Architecture=|x86-64
Architecture=|arm
Architecture=|arm64
Architecture=|riscv32
Architecture=|riscv64
Architecture=|loongarch64
[Content]
VolatilePackages=
systemd-boot-dbgsym

View File

@@ -21,5 +21,4 @@ Packages=
knot
qrencode
rpmautospec
sbsigntools
scsi-target-utils

View File

@@ -0,0 +1,18 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Distribution=fedora
Architecture=|x86
Architecture=|x86-64
Architecture=|arm
Architecture=|arm64
Architecture=|riscv32
Architecture=|riscv64
Architecture=|loongarch64
[Content]
Packages=
sbsigntools
VolatilePackages=
systemd-boot

View File

@@ -16,7 +16,6 @@ VolatilePackages=
libsystemd0
libudev1
systemd
systemd-boot
systemd-container
systemd-devel
systemd-doc
@@ -71,7 +70,6 @@ Packages=
qrencode
quota
rsync
sbsigntools
sed
shadow
softhsm

View File

@@ -7,7 +7,6 @@ Environment=WITH_DEBUG=1
VolatilePackages=
libsystemd0-debuginfo
libudev1-debuginfo
systemd-boot-debuginfo
systemd-container-debuginfo
systemd-debuginfo
systemd-debugsource

View File

@@ -0,0 +1,17 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Environment=WITH_DEBUG=1
[Match]
Architecture=|x86
Architecture=|x86-64
Architecture=|arm
Architecture=|arm64
Architecture=|riscv32
Architecture=|riscv64
Architecture=|loongarch64
[Content]
VolatilePackages=
systemd-boot-debuginfo

View File

@@ -0,0 +1,18 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Distribution=opensuse
Architecture=|x86
Architecture=|x86-64
Architecture=|arm
Architecture=|arm64
Architecture=|riscv32
Architecture=|riscv64
Architecture=|loongarch64
[Content]
VolatilePackages=
systemd-boot
Packages=
sbsigntools

View File

@@ -13,5 +13,5 @@ Packages=
clangd
erofs-utils
git-core
libclang-rt-dev
?exact-name(libclang-rt-dev)
dpkg-dev

View File

@@ -14,7 +14,6 @@ VolatilePackages=
libsystemd0
libudev1
systemd
systemd-boot # TODO: Drop once opensuse moves the systemd-stub tmpfiles snippet back to the systemd package
# Pull in systemd-container so that the import-generator is available
systemd-container
systemd-experimental