bootc-deb/.forgejo/workflows/test-build.yml
robojerk 40ca7100f9
Some checks failed
Build bootc Package / Build bootc Package (push) Failing after 2m50s
Test Build / Test bootc Build (with existing libostree) (push) Failing after 1m34s
Fixed shell bash stuff around rust
2025-07-21 22:03:16 +00:00

80 lines
No EOL
2.3 KiB
YAML

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
shell: bash
run: |
apt update -y
apt install -y git curl pkg-config build-essential
# Install Rust using rustup to get the latest version
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
. ~/.cargo/env
# Verify Rust version
rustc --version
cargo --version
- 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
shell: bash
run: |
cd bootc-${BOOTC_VERSION}
# Source Rust environment for the build
. ~/.cargo/env
cargo build --release
- name: Test package build (if libostree available)
shell: bash
run: |
cd bootc-${BOOTC_VERSION}
# Source Rust environment for the build
. ~/.cargo/env
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