3 # Simple boot tests that build and boot the mkosi images generated by the mkosi config files in .mkosi.
27 - uses: actions/checkout@v2
28 - uses: systemd/mkosi@v10
31 run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect python3-jinja2
34 run: ln -s .mkosi/mkosi.${{ matrix.distro }} mkosi.default
36 # Ubuntu's systemd-nspawn doesn't support faccessat2() syscall, which is
37 # required, since current Arch's glibc implements faccessat() via faccessat2().
38 - name: Update systemd-nspawn
39 if: ${{ matrix.distro == 'arch' }}
41 echo "deb-src http://archive.ubuntu.com/ubuntu/ $(lsb_release -cs) main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list
43 sudo apt build-dep systemd
46 sudo ln -svf $PWD/build/systemd-nspawn `which systemd-nspawn`
47 systemd-nspawn --version
49 - name: Build ${{ matrix.distro }}
50 run: sudo python3 -m mkosi --password= --network-veth=no --qemu-headless build
52 - name: Show ${{ matrix.distro }} image summary
53 run: sudo python3 -m mkosi --password= --qemu-headless summary
55 - name: Boot ${{ matrix.distro }} systemd-nspawn
56 run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --network-veth=no --qemu-headless boot
58 - name: Boot ${{ matrix.distro }} QEMU
59 run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --network-veth=no --qemu-headless qemu