- Add automatic README update workflow that triggers after successful builds - Add manual workflow for updating download links to specific builds - Update README with working download links to Build 97 artifacts - Include direct links to both main package and debug symbols - Add installation instructions with correct workflow run URLs - Fix workflow run ID references and artifact download paths This provides reliable download links that users can access directly from the repository README to install the latest libostree backport.
121 lines
No EOL
4.3 KiB
YAML
121 lines
No EOL
4.3 KiB
YAML
name: Build bootc Package
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, master ]
|
|
pull_request:
|
|
branches: [ main, master ]
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
UBUNTU_VERSION: "24.04"
|
|
BOOTC_VERSION: "1.5.1"
|
|
|
|
jobs:
|
|
build-bootc:
|
|
name: Build bootc Package
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ubuntu:latest
|
|
steps:
|
|
- name: Setup build environment
|
|
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
|
|
source ~/.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: Setup build environment for bootc
|
|
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
|
|
source ~/.cargo/env
|
|
|
|
# Verify Rust version
|
|
rustc --version
|
|
cargo --version
|
|
|
|
- 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: Debug - List files before patching
|
|
run: |
|
|
cd bootc-${BOOTC_VERSION}
|
|
echo "Current directory: $(pwd)"
|
|
echo "Files in current directory:"
|
|
ls -la
|
|
echo "Files in lib/src/ (if it exists):"
|
|
ls -la lib/src/ 2>/dev/null || echo "Directory does not exist"
|
|
echo "Patch file location:"
|
|
ls -la ../bootc-libostree-compatibility.patch
|
|
|
|
- name: Apply compatibility patch
|
|
run: |
|
|
cd bootc-${BOOTC_VERSION}
|
|
if [ ! -f ../bootc-libostree-compatibility.patch ]; then
|
|
echo "❌ ERROR: bootc-libostree-compatibility.patch not found!"
|
|
echo "This patch is required for bootc to work with the libostree backport."
|
|
exit 1
|
|
fi
|
|
# Apply patch with correct strip level for lib/src/cli.rs
|
|
echo "Applying patch to lib/src/cli.rs..."
|
|
patch -p1 < ../bootc-libostree-compatibility.patch
|
|
|
|
- name: Copy debian packaging
|
|
run: |
|
|
cd bootc-${BOOTC_VERSION}
|
|
if [ ! -d ../debian ]; then
|
|
echo "❌ ERROR: debian packaging directory not found!"
|
|
echo "The debian/ directory is required for building the package."
|
|
exit 1
|
|
fi
|
|
cp -r ../debian .
|
|
|
|
- name: Build bootc package
|
|
run: |
|
|
cd bootc-${BOOTC_VERSION}
|
|
echo "Building bootc package with libostree compatibility patch..."
|
|
# Source Rust environment for the build
|
|
source ~/.cargo/env
|
|
dpkg-buildpackage -us -uc -b
|
|
|
|
- name: List built packages
|
|
run: |
|
|
echo "Built bootc packages:"
|
|
ls -la bootc-${BOOTC_VERSION}/../*.deb
|
|
|
|
- name: Create release assets
|
|
run: |
|
|
mkdir -p release-assets
|
|
cp bootc-${BOOTC_VERSION}/../*.deb release-assets/ 2>/dev/null || echo "No .deb files found"
|
|
|
|
# Create a summary file
|
|
echo "Bootc Package Build Summary" > release-assets/BUILD_SUMMARY.txt
|
|
echo "===========================" >> release-assets/BUILD_SUMMARY.txt
|
|
echo "Build Date: $(date)" >> release-assets/BUILD_SUMMARY.txt
|
|
echo "Ubuntu Version: ${UBUNTU_VERSION}" >> release-assets/BUILD_SUMMARY.txt
|
|
echo "Bootc Version: ${BOOTC_VERSION}" >> release-assets/BUILD_SUMMARY.txt
|
|
echo "" >> release-assets/BUILD_SUMMARY.txt
|
|
echo "Built Packages:" >> release-assets/BUILD_SUMMARY.txt
|
|
ls -la release-assets/*.deb 2>/dev/null || echo "No packages found" >> release-assets/BUILD_SUMMARY.txt
|
|
|
|
echo "Release assets created:"
|
|
ls -la release-assets/ |