build(deps): bump pkg/fedora from 3f8c38e
to a379236
#102
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# vi: ts=2 sw=2 et: | |
# SPDX-License-Identifier: LGPL-2.1-or-later | |
# Simple boot tests that build and boot the mkosi images generated by the mkosi config files in mkosi.conf.d/. | |
name: mkosi | |
on: | |
push: | |
branches: | |
- main | |
- v[0-9]+-stable | |
paths: | |
- '**' | |
- '!README*' | |
- '!LICENSE*' | |
- '!LICENSES/**' | |
- '!TODO' | |
- '!docs/**' | |
- '!man/**' | |
- '!catalog/**' | |
- '!shell-completion/**' | |
- '!po/**' | |
- '!.**' | |
- '.github/**' | |
pull_request: | |
branches: | |
- main | |
- v[0-9]+-stable | |
paths: | |
- '**' | |
- '!README*' | |
- '!LICENSE*' | |
- '!LICENSES/**' | |
- '!TODO' | |
- '!docs/**' | |
- '!man/**' | |
- '!catalog/**' | |
- '!shell-completion/**' | |
- '!po/**' | |
- '!.**' | |
- '.github/**' | |
permissions: | |
contents: read | |
jobs: | |
ci: | |
runs-on: ubuntu-22.04 | |
concurrency: | |
group: ${{ github.workflow }}-${{ matrix.distro }}-${{ matrix.release }}-${{ github.ref }} | |
cancel-in-progress: true | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- distro: arch | |
release: rolling | |
- distro: debian | |
release: testing | |
- distro: ubuntu | |
release: noble | |
- distro: fedora | |
release: "39" | |
- distro: fedora | |
release: rawhide | |
- distro: opensuse | |
release: tumbleweed | |
- distro: centos | |
release: "9" | |
env: | |
SYSTEMD_LOG_LEVEL: debug | |
steps: | |
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 | |
- uses: systemd/mkosi@1099ead1ccaa11b62b7a16ee312193bd0e6b6404 | |
# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space | |
# immediately, we remove the files in the background. However, we first move them to a different location | |
# so that nothing tries to use anything in these directories anymore while we're busy deleting them. | |
- name: Free disk space | |
run: | | |
sudo mv /usr/local /usr/local.trash | |
sudo mv /opt/hostedtoolcache /opt/hostedtoolcache.trash | |
sudo systemd-run rm -rf /usr/local.trash /opt/hostedtoolcache.trash | |
- name: Configure | |
run: | | |
tee mkosi.local.conf <<EOF | |
[Distribution] | |
Distribution=${{ matrix.distro }} | |
Release=${{ matrix.release }} | |
[Output] | |
# Build a disk image in CI as this logic is much more prone to breakage. | |
Format=disk | |
[Host] | |
ToolsTree=default | |
ToolsTreeDistribution=fedora | |
QemuVsock=yes | |
# Sometimes we run on a host with /dev/kvm, but it is broken, so explicitly disable it | |
QemuKvm=yes | |
# TODO: Drop once https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2038777 is fixed in Github Actions | |
QemuFirmware=uefi | |
Ephemeral=yes | |
EOF | |
# These should override the options from mkosi.conf so we put them in a dropin that's ordered later | |
# instead. | |
tee mkosi.conf.d/99-ci.conf <<EOF | |
[Host] | |
KernelCommandLineExtra=systemd.unit=mkosi-check-and-shutdown.service | |
systemd.journald.max_level_console=debug | |
# udev's debug log output is very verbose, so up it to info in CI. | |
udev.log_level=info | |
# Root device can take a long time to appear, so let's bump the timeout. | |
systemd.default_device_timeout_sec=180 | |
EOF | |
# For erofs, we have to install linux-modules-extra-azure, but that doesn't match the running kernel | |
# version, so we can't load the erofs module. squashfs is a builtin module so we use that instead. | |
mkdir -p mkosi.images/system/mkosi.repart/10-usr.conf.d | |
tee mkosi.images/system/mkosi.repart/10-usr.conf.d/squashfs.conf <<EOF | |
[Partition] | |
Format=squashfs | |
EOF | |
# The emergency shell is not useful in the CI, as it just blocks for a long time before the job | |
# eventually times out. Override it to just shutdown immediately. | |
mkdir -p mkosi.images/initrd/mkosi.extra/usr/lib/systemd/system/emergency.service.d/ | |
mkdir -p mkosi.images/system/mkosi.extra/usr/lib/systemd/system/emergency.service.d/ | |
tee mkosi.images/initrd/mkosi.extra/usr/lib/systemd/system/emergency.service.d/poweroff.conf <<EOF | |
[Unit] | |
FailureAction=exit | |
[Service] | |
ExecStartPre= | |
ExecStart= | |
ExecStart=false | |
EOF | |
cp mkosi.images/initrd/mkosi.extra/usr/lib/systemd/system/emergency.service.d/poweroff.conf mkosi.images/system/mkosi.extra/usr/lib/systemd/system/emergency.service.d/poweroff.conf | |
- name: Generate secure boot key | |
run: mkosi --debug genkey | |
- name: Show image summary | |
run: mkosi summary | |
- name: Build | |
run: mkosi --debug | |
- name: Boot systemd-nspawn | |
run: test "$(sudo mkosi --debug boot 1>&2; echo $?)" -eq 123 | |
- name: Boot QEMU | |
run: timeout -k 30 10m test "$(mkosi --debug qemu 1>&2; echo $?)" -eq 123 |