tree-wide: Add docs for all pub
items
#528
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: examples | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 45 | |
strategy: | |
matrix: | |
example: | |
- { dir: 'bls', os: 'arch' } | |
- { dir: 'bls', os: 'fedora' } | |
- { dir: 'bls', os: 'fedora-compat' } | |
- { dir: 'bls', os: 'rawhide' } | |
- { dir: 'bls', os: 'rhel9' } | |
# This one is currently failing, needs debugging | |
# https://github.com/containers/composefs-rs/pull/168#pullrequestreview-3088673152 | |
# We believe it's mount API changes causing /sysroot to be mounted | |
# at the wrong place. | |
# - { dir: 'bls', os: 'ubuntu' } | |
- { dir: 'uki', os: 'arch' } | |
- { dir: 'uki', os: 'fedora' } | |
- { dir: 'unified', os: 'fedora' } | |
- { dir: 'unified-secureboot', os: 'fedora' } | |
- { dir: 'bls', os: 'arch', fsfmt: 'ext4', verity: 'none' } | |
- { dir: 'bls', os: 'arch', fsfmt: 'xfs', verity: 'none' } | |
fail-fast: false | |
steps: | |
- name: Enable fs-verity on / | |
run: sudo tune2fs -O verity $(findmnt -vno SOURCE /) | |
- name: Setup /dev/kvm | |
run: | | |
set -eux | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm.rules | |
echo 'KERNEL=="vhost-vsock", GROUP="kvm", MODE="0666", OPTIONS+="static_node=vhost-vsock"' | sudo tee /etc/udev/rules.d/99-vhost-vsock.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --settle | |
ls -l /dev/kvm /dev/vhost-vsock | |
- name: Install dependencies | |
run: | | |
echo 'deb-src http://azure.archive.ubuntu.com/ubuntu noble main' | sudo tee /etc/apt/sources.list.d/debsrc.list | |
sudo apt-get update | |
sudo apt-get install -y \ | |
erofs-utils \ | |
fsverity \ | |
mtools \ | |
python3-pytest-asyncio \ | |
qemu-kvm \ | |
systemd-boot-efi | |
- name: Get a newer podman for heredoc support (from plucky) | |
run: | | |
echo 'deb http://azure.archive.ubuntu.com/ubuntu plucky universe main' | sudo tee /etc/apt/sources.list.d/plucky.list | |
sudo apt update | |
sudo apt install -y crun/plucky podman/plucky | |
- uses: actions/checkout@v4 | |
- name: Check cache for patched tools | |
uses: actions/cache@v3 | |
with: | |
path: ~/bin | |
key: patched-tools-bin-${{ hashFiles('examples/common/install-patched-tools') }} | |
- name: Ensure patched tools are installed | |
run: | | |
set -eux | |
if [ ! -x "$HOME/bin/mkfs.ext4" ]; then | |
sudo apt-get build-dep systemd e2fsprogs | |
mkdir ~/bin | |
examples/common/install-patched-tools ~/bin | |
fi | |
- name: Install systemd-ssh-proxy polyfill | |
run: sudo cp examples/bls/test-thing.workarounds/systemd-ssh-proxy /usr/lib/systemd | |
- name: Run example tests | |
run: | | |
export PATH="${HOME}/bin:${PATH}" | |
export FS_FORMAT=${{ matrix.example.fsfmt }} | |
export FS_VERITY_MODE=${{ matrix.example.verity }} | |
examples/test/run ${{ matrix.example.dir }} ${{ matrix.example.os }} |