mirror of
https://github.com/systemd/systemd.git
synced 2025-03-25 18:50:18 +03:00
Merge pull request #17787 from DaanDeMeyer/mkosi-boot-tests
CI: Add mkosi boot tests
This commit is contained in:
commit
f1027d7c28
42
.github/workflows/mkosi.yml
vendored
Normal file
42
.github/workflows/mkosi.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
name: mkosi
|
||||
|
||||
# Simple boot tests that build and boot the mkosi images generated by the mkosi config files in .mkosi.
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
ci:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
distro:
|
||||
- arch
|
||||
- debian
|
||||
- ubuntu
|
||||
- fedora
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: systemd/mkosi@v8
|
||||
|
||||
- name: Install
|
||||
run: sudo apt-get update && sudo apt-get install --no-install-recommends
|
||||
ovmf
|
||||
python3-pexpect
|
||||
qemu-system-x86-64
|
||||
|
||||
- name: Build ${{ matrix.distro }}
|
||||
run: sudo python3 -m mkosi --default .mkosi/mkosi.${{ matrix.distro }} --password= --qemu-headless build
|
||||
|
||||
- name: Boot ${{ matrix.distro }} systemd-nspawn
|
||||
run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --default .mkosi/mkosi.${{ matrix.distro }} --password= --qemu-headless boot
|
||||
|
||||
- name: Boot ${{ matrix.distro }} QEMU
|
||||
run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --default .mkosi/mkosi.${{ matrix.distro }} --password= --qemu-headless qemu
|
27
.github/workflows/test_mkosi_boot.py
vendored
Executable file
27
.github/workflows/test_mkosi_boot.py
vendored
Executable file
@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env python3
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
import pexpect
|
||||
import sys
|
||||
|
||||
|
||||
def run() -> None:
|
||||
p = pexpect.spawnu(" ".join(sys.argv[1:]), logfile=sys.stdout, timeout=300)
|
||||
|
||||
p.expect("login:")
|
||||
p.sendline("root")
|
||||
|
||||
p.expect("#")
|
||||
p.sendline("systemctl poweroff")
|
||||
|
||||
p.expect(pexpect.EOF)
|
||||
|
||||
|
||||
try:
|
||||
run()
|
||||
except pexpect.EOF:
|
||||
print("UNEXPECTED EOF")
|
||||
sys.exit(1)
|
||||
except pexpect.TIMEOUT:
|
||||
print("TIMED OUT")
|
||||
sys.exit(1)
|
@ -24,7 +24,7 @@ BuildPackages=
|
||||
git
|
||||
gnu-efi
|
||||
gperf
|
||||
iptables-dev
|
||||
libiptc-dev
|
||||
libacl1-dev
|
||||
libaudit-dev
|
||||
libblkid-dev
|
||||
|
@ -23,6 +23,7 @@ BuildPackages=
|
||||
diffutils
|
||||
docbook-style-xsl
|
||||
elfutils-devel
|
||||
findutils
|
||||
gcc
|
||||
gettext
|
||||
git
|
||||
@ -64,6 +65,7 @@ BuildPackages=
|
||||
python3-devel
|
||||
python3-lxml
|
||||
qrencode-devel
|
||||
rpm
|
||||
tree
|
||||
valgrind-devel
|
||||
xz-devel
|
||||
|
Loading…
x
Reference in New Issue
Block a user