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@v9

    - name: Install
      run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect

    - name: Symlink
      run: ln -s .mkosi/mkosi.${{ matrix.distro }} mkosi.default

    - name: Build ${{ matrix.distro }}
      run: sudo python3 -m mkosi --password= --qemu-headless build

    - name: Boot ${{ matrix.distro }} systemd-nspawn
      run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --qemu-headless boot

    - name: Boot ${{ matrix.distro }} QEMU
      run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --qemu-headless qemu
