From 7848a51da448e76258454dd30817aa61d82c7ffb Mon Sep 17 00:00:00 2001 From: Allison Karlitskaya Date: Wed, 4 Dec 2024 20:10:39 +0100 Subject: [PATCH] .github/workflows: add an examples workflow I generally try to run the examples when making major changes. Let's get CI to do that. Signed-off-by: Allison Karlitskaya --- .github/workflows/examples.yml | 62 ++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/examples.yml diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml new file mode 100644 index 0000000..26b3174 --- /dev/null +++ b/.github/workflows/examples.yml @@ -0,0 +1,62 @@ +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