mirror of
https://github.com/systemd/systemd.git
synced 2025-01-09 01:18:19 +03:00
9cc018fa93
Latest version builds nspawn from source which hopefully gets rid of the spurious "Connection timed out" errors we've been seeing in CI.
145 lines
3.6 KiB
YAML
145 lines
3.6 KiB
YAML
---
|
|
# 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.default.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
|
|
|
|
env:
|
|
# Enable debug logging in systemd, but keep udev's log level to info,
|
|
# since it's _very_ verbose in the QEMU task
|
|
# Disable the ISC DHCP servers, as they are failing in Ubuntu
|
|
KERNEL_CMDLINE: "systemd.unit=mkosi-check-and-shutdown.service !quiet systemd.log_level=debug systemd.log_target=console udev.log_level=info systemd.default_standard_output=journal+console systemd.mask=isc-dhcp-server6.service systemd.mask=isc-dhcp-server.service"
|
|
|
|
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: jammy
|
|
- distro: fedora
|
|
release: "37"
|
|
- distro: fedora
|
|
release: rawhide
|
|
- distro: opensuse
|
|
release: tumbleweed
|
|
- distro: centos
|
|
release: "9"
|
|
- distro: centos
|
|
release: "8"
|
|
|
|
steps:
|
|
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
|
|
- uses: systemd/mkosi@c1924942d0daa64c4e546cda5616f6da6963def5
|
|
|
|
- name: Configure
|
|
run: |
|
|
tee mkosi.default <<- EOF
|
|
[Distribution]
|
|
Distribution=${{ matrix.distro }}
|
|
Release=${{ matrix.release }}
|
|
SecureBoot=yes
|
|
|
|
[Content]
|
|
Environment=CI_BUILD=1
|
|
|
|
[Output]
|
|
KernelCommandLine=${{ env.KERNEL_CMDLINE }}
|
|
EOF
|
|
|
|
- name: Generate secure boot key
|
|
run: mkosi genkey
|
|
|
|
- name: Build ${{ matrix.distro }}
|
|
run: mkosi
|
|
|
|
- name: Show ${{ matrix.distro }} image summary
|
|
run: mkosi summary
|
|
|
|
- name: Boot ${{ matrix.distro }} systemd-nspawn
|
|
run: |
|
|
STATUS=0
|
|
sudo strace -f -Z -o strace mkosi boot ${{ env.KERNEL_CMDLINE }} audit=0 || STATUS=$?
|
|
if [ $STATUS -ne 0 ]; then
|
|
cat strace
|
|
fi
|
|
exit $STATUS
|
|
env:
|
|
SYSTEMD_LOG_LEVEL: debug
|
|
|
|
- name: Check ${{ matrix.distro }} systemd-nspawn
|
|
run: |
|
|
STATUS=0
|
|
sudo strace -f -Z -o strace mkosi shell bash -c "[[ -e /testok ]] || STATUS=$?"
|
|
if [ $STATUS -ne 0 ]; then
|
|
cat /failed-services
|
|
cat strace
|
|
fi
|
|
exit $STATUS
|
|
env:
|
|
SYSTEMD_LOG_LEVEL: debug
|
|
|
|
- name: Boot ${{ matrix.distro }} QEMU
|
|
run: timeout -k 30 10m mkosi qemu
|
|
|
|
- name: Check ${{ matrix.distro }} QEMU
|
|
run: |
|
|
STATUS=0
|
|
sudo strace -f -Z -o strace mkosi shell bash -c "[[ -e /testok ]] || STATUS=$?"
|
|
if [ $STATUS -ne 0 ]; then
|
|
cat /failed-services
|
|
cat strace
|
|
fi
|
|
exit $STATUS
|
|
env:
|
|
SYSTEMD_LOG_LEVEL: debug
|