3 # SPDX-License-Identifier: LGPL-2.1-or-later
4 # Simple boot tests that build and boot the mkosi images generated by the mkosi config files in mkosi.default.d/.
21 - '!shell-completion/**'
39 - '!shell-completion/**'
48 # Enable debug logging in systemd, but keep udev's log level to info,
49 # since it's _very_ verbose in the QEMU task
50 # Disable the ISC DHCP servers, as they are failing in Ubuntu
51 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"
57 group: ${{ github.workflow }}-${{ matrix.distro }}-${{ matrix.release }}-${{ github.ref }}
58 cancel-in-progress: true
81 - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
82 - uses: systemd/mkosi@1d131062066fe7b5a83b87319b4464b186adbb1c
86 tee mkosi.default <<- EOF
88 Distribution=${{ matrix.distro }}
89 Release=${{ matrix.release }}
93 Environment=CI_BUILD=1
96 KernelCommandLine=${{ env.KERNEL_CMDLINE }}
99 - name: Generate secure boot key
102 - name: Build ${{ matrix.distro }}
105 - name: Show ${{ matrix.distro }} image summary
108 - name: Boot ${{ matrix.distro }} systemd-nspawn
111 sudo strace -f -Z -o strace mkosi boot ${{ env.KERNEL_CMDLINE }} audit=0 || STATUS=$?
112 if [ $STATUS -ne 0 ]; then
117 SYSTEMD_LOG_LEVEL: debug
119 - name: Check ${{ matrix.distro }} systemd-nspawn
122 sudo strace -f -Z -o strace mkosi shell bash -c "[[ -e /testok ]] || STATUS=$?"
123 if [ $STATUS -ne 0 ]; then
129 SYSTEMD_LOG_LEVEL: debug
131 - name: Boot ${{ matrix.distro }} QEMU
132 run: timeout -k 30 10m mkosi qemu
134 - name: Check ${{ matrix.distro }} QEMU
137 sudo strace -f -Z -o strace mkosi shell bash -c "[[ -e /testok ]] || STATUS=$?"
138 if [ $STATUS -ne 0 ]; then
144 SYSTEMD_LOG_LEVEL: debug