name: Test Build on: push: branches: [ main, master ] pull_request: branches: [ main, master ] workflow_dispatch: env: BOOTC_VERSION: "1.5.1" jobs: test-bootc-build: name: Test bootc Build (with existing libostree) runs-on: ubuntu-latest container: image: ubuntu:latest steps: - name: Setup build environment run: | apt update -y apt install -y git cargo rustc pkg-config build-essential - name: Checkout repository manually run: | # Clone the repository manually instead of using actions/checkout git clone https://git.raines.xyz/robojerk/bootc-deb.git /tmp/bootc-deb cp -r /tmp/bootc-deb/* . cp -r /tmp/bootc-deb/.* . 2>/dev/null || true - name: Check libostree version run: | pkg-config --modversion ostree-1 || echo "libostree not found" dpkg -l | grep libostree || echo "No libostree packages installed" - name: Clone bootc source run: | git clone --depth 1 --branch v${BOOTC_VERSION} https://github.com/containers/bootc.git bootc-${BOOTC_VERSION} cd bootc-${BOOTC_VERSION} - name: Apply compatibility patch run: | cd bootc-${BOOTC_VERSION} patch -p1 < ../bootc-libostree-compatibility.patch - name: Copy debian packaging run: | cd bootc-${BOOTC_VERSION} cp -r ../debian . - name: Test cargo build run: | cd bootc-${BOOTC_VERSION} cargo build --release - name: Test package build (if libostree available) run: | cd bootc-${BOOTC_VERSION} if pkg-config --exists ostree-1; then dpkg-buildpackage -us -uc -b echo "Package build successful" else echo "Skipping package build - libostree not available" fi