mirror of
https://github.com/systemd/systemd.git
synced 2025-01-09 01:18:19 +03:00
9d2e4ceee5
Let's make sure we're testing with the latest changes in mkosi. This includes both the switch to systemd-repart and ukify, making sure we get extra testing coverage for those components. This also drops options from the centos config that have been removed in the newer mkosi. For some reason idmapping runs into some issues so we disable it for now.
115 lines
3.0 KiB
YAML
115 lines
3.0 KiB
YAML
---
|
|
# vi: ts=2 sw=2 et:
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
# Simple boot tests that build and boot the mkosi images generated by the mkosi config files in mkosi.default.d/.
|
|
name: mkosi
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- v[0-9]+-stable
|
|
paths:
|
|
- '**'
|
|
- '!README*'
|
|
- '!LICENSE*'
|
|
- '!LICENSES/**'
|
|
- '!TODO'
|
|
- '!docs/**'
|
|
- '!man/**'
|
|
- '!catalog/**'
|
|
- '!shell-completion/**'
|
|
- '!po/**'
|
|
- '!.**'
|
|
- '.github/**'
|
|
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- v[0-9]+-stable
|
|
paths:
|
|
- '**'
|
|
- '!README*'
|
|
- '!LICENSE*'
|
|
- '!LICENSES/**'
|
|
- '!TODO'
|
|
- '!docs/**'
|
|
- '!man/**'
|
|
- '!catalog/**'
|
|
- '!shell-completion/**'
|
|
- '!po/**'
|
|
- '!.**'
|
|
- '.github/**'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
# Enable debug logging in systemd, but keep udev's log level to info,
|
|
# since it's _very_ verbose in the QEMU task
|
|
# Disable the ISC DHCP servers, as they are failing in Ubuntu
|
|
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"
|
|
|
|
jobs:
|
|
ci:
|
|
runs-on: ubuntu-22.04
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ matrix.distro }}-${{ matrix.release }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- distro: arch
|
|
release: rolling
|
|
- distro: debian
|
|
release: testing
|
|
- distro: ubuntu
|
|
release: jammy
|
|
- distro: fedora
|
|
release: "37"
|
|
- distro: fedora
|
|
release: rawhide
|
|
- distro: opensuse
|
|
release: tumbleweed
|
|
- distro: centos
|
|
release: 9-stream
|
|
- distro: centos
|
|
release: 8-stream
|
|
|
|
steps:
|
|
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
|
|
- uses: systemd/mkosi@ab2aff830096e681da1950a7d29f277caa89516c
|
|
|
|
- name: Configure
|
|
run: |
|
|
tee mkosi.default <<- EOF
|
|
[Distribution]
|
|
Distribution=${{ matrix.distro }}
|
|
Release=${{ matrix.release }}
|
|
|
|
[Content]
|
|
Environment=CI_BUILD=1
|
|
|
|
[Output]
|
|
KernelCommandLine=${{ env.KERNEL_CMDLINE }}
|
|
EOF
|
|
|
|
- name: Build ${{ matrix.distro }}
|
|
run: sudo mkosi --idmap no
|
|
|
|
- name: Show ${{ matrix.distro }} image summary
|
|
run: sudo mkosi summary
|
|
|
|
- name: Boot ${{ matrix.distro }} systemd-nspawn
|
|
run: sudo mkosi boot ${{ env.KERNEL_CMDLINE }}
|
|
|
|
- name: Check ${{ matrix.distro }} systemd-nspawn
|
|
run: sudo mkosi shell bash -c "[[ -e /testok ]] || { cat /failed-services; exit 1; }"
|
|
|
|
- name: Boot ${{ matrix.distro }} QEMU
|
|
run: sudo timeout -k 30 10m mkosi qemu
|
|
|
|
- name: Check ${{ matrix.distro }} QEMU
|
|
run: sudo mkosi shell bash -c "[[ -e /testok ]] || { cat /failed-services; exit 1; }"
|