diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml new file mode 100644 index 0000000..81318a0 --- /dev/null +++ b/.github/workflows/examples.yml @@ -0,0 +1,57 @@ +name: examples + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + runs-on: ubuntu-24.04 + + strategy: + matrix: + example: + - uki + - bls + # https://github.com/containers/composefs-rs/issues/49 + # - unified + fail-fast: false + + steps: + - name: Enable fs-verity on / + run: sudo tune2fs -O verity $(findmnt -vno SOURCE /) + + - name: Install dependencies + run: sudo apt-get install -y meson mtools qemu-system systemd-boot-efi + + - name: Get a newer podman for heredoc support (from debian testing) + run: | + set -eux + echo 'deb [trusted=yes] https://ftp.debian.org/debian/ testing main' | sudo tee /etc/apt/sources.list.d/testing.list + sudo apt update + sudo apt install -y crun/testing podman/testing skopeo/testing + crun --version + podman --version + skopeo --version + + - name: Install composefs + run: | + set -eux + git clone --depth=1 https://github.com/containers/composefs + cd composefs + meson setup build + ninja -C build + sudo ninja -C build install + sudo ldconfig + + - uses: actions/checkout@v4 + + - name: Disable fix-verity hack (requires KVM) + run: printf '#!/bin/sh\n' > examples/common/fix-verity/fix-verity + + - run: examples/${{ matrix.example }}/build