mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 23:21:22 +03:00
10139b4e3c
some actions like Coverity and CFLite aren't run on every PR so to make sure they are more or less fine when they are changed it makes sense to at least check them with superlinter/actionlint: https://github.com/rhysd/actionlint The following warnings were fixed along the way: ``` .github/workflows/mkosi.yml:55:7: shellcheck reported issue in this script: SC2086:info:6:14: Double quote to prevent globbing and word splitting [shellcheck] | 55 | run: | | ^~~~ .github/workflows/mkosi.yml:55:7: shellcheck reported issue in this script: SC2046⚠️6:40: Quote this to prevent word splitting [shellcheck] | 55 | run: | | ^~~~ .github/workflows/mkosi.yml:55:7: shellcheck reported issue in this script: SC2006:style:6:40: Use $(...) notation instead of legacy backticked `...` [shellcheck] | 55 | run: | | ^~~~ ``` ``` .github/workflows/coverity.yml:31:9: shellcheck reported issue in this script: SC2086:info:1:93: Double quote to prevent globbing and word splitting [shellcheck] | 31 | run: echo "COVERITY_SCAN_NOTIFICATION_EMAIL=$(git log -1 ${{ github.sha }} --pretty=\"%aE\")" >> $GITHUB_ENV | ^~~~ ```
81 lines
2.8 KiB
YAML
81 lines
2.8 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
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- v[0-9]+-stable
|
|
|
|
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
|
|
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"
|
|
|
|
jobs:
|
|
ci:
|
|
runs-on: ubuntu-20.04
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ matrix.distro }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
distro:
|
|
- arch
|
|
- debian
|
|
- ubuntu
|
|
- fedora
|
|
- opensuse
|
|
|
|
steps:
|
|
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
|
|
- uses: systemd/mkosi@30288805db1a953ea31045933adb93194f91e3da
|
|
|
|
- name: Install
|
|
run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect python3-jinja2
|
|
|
|
- name: Configure
|
|
run: echo -e "[Distribution]\nDistribution=${{ matrix.distro }}\n" >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: ./.github/workflows/run_mkosi.sh --build-environment=CI_BUILD=1 --kernel-command-line "${{ env.KERNEL_CMDLINE }}" build
|
|
|
|
- name: Show ${{ matrix.distro }} image summary
|
|
run: ./.github/workflows/run_mkosi.sh summary
|
|
|
|
- name: Boot ${{ matrix.distro }} systemd-nspawn
|
|
run: ./.github/workflows/run_mkosi.sh boot ${{ env.KERNEL_CMDLINE }}
|
|
|
|
- name: Check ${{ matrix.distro }} systemd-nspawn
|
|
run: ./.github/workflows/run_mkosi.sh shell bash -c "[[ -e /testok ]] || { cat /failed-services; exit 1; }"
|
|
|
|
- name: Boot ${{ matrix.distro }} QEMU
|
|
run: ./.github/workflows/run_mkosi.sh qemu
|
|
|
|
- name: Check ${{ matrix.distro }} QEMU
|
|
run: ./.github/workflows/run_mkosi.sh shell bash -c "[[ -e /testok ]] || { cat /failed-services; exit 1; }"
|