mirror of
https://github.com/systemd/systemd.git
synced 2024-11-02 10:51:20 +03:00
2e9055ab6a
The current boot test relies on terminal login, therefore network setup inside image is unnecessary. This opens up possibility to test images that don't support the network setup via veth devices.
59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
name: mkosi
|
|
|
|
# Simple boot tests that build and boot the mkosi images generated by the mkosi config files in .mkosi.
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
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@v10
|
|
|
|
- name: Install
|
|
run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect python3-jinja2
|
|
|
|
- name: Symlink
|
|
run: ln -s .mkosi/mkosi.${{ matrix.distro }} mkosi.default
|
|
|
|
# Ubuntu's systemd-nspawn doesn't support faccessat2() syscall, which is
|
|
# required, since current Arch's glibc implements faccessat() via faccessat2().
|
|
- name: Update systemd-nspawn
|
|
if: ${{ matrix.distro == 'arch' }}
|
|
run: |
|
|
echo "deb-src http://archive.ubuntu.com/ubuntu/ $(lsb_release -cs) main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list
|
|
sudo apt update
|
|
sudo apt build-dep systemd
|
|
meson build
|
|
ninja -C build
|
|
sudo ln -svf $PWD/build/systemd-nspawn `which systemd-nspawn`
|
|
systemd-nspawn --version
|
|
|
|
- name: Build ${{ matrix.distro }}
|
|
run: sudo python3 -m mkosi --password= --network-veth=no --qemu-headless build
|
|
|
|
- name: Show ${{ matrix.distro }} image summary
|
|
run: sudo python3 -m mkosi --password= --qemu-headless summary
|
|
|
|
- name: Boot ${{ matrix.distro }} systemd-nspawn
|
|
run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --network-veth=no --qemu-headless boot
|
|
|
|
- name: Boot ${{ matrix.distro }} QEMU
|
|
run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --network-veth=no --qemu-headless qemu
|