From af9200cce6316a9d28eea53af318891e6135e3a8 Mon Sep 17 00:00:00 2001 From: humocs-man <251756307+humocs-man@users.noreply.github.com> Date: Sun, 17 May 2026 18:44:42 +0200 Subject: [PATCH] Refactor build process to use podman with host privileges Updated the build process to use podman with host privileges for building the OCI archive, replacing the previous rpm-ostree installation method. --- .github/workflows/build.yml | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 87c0ece..fab6975 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,26 +91,29 @@ jobs: labels: ${{ steps.metadata.outputs.labels }} oci: true - # JETZT DIREKT AUF DEM RUNNER: rpm-ostree installieren und mit echten root-rechten rechunked Archiv bauen + # JETZT MIT HOST-PRIVILEGIEN: Nutzt echtes sudo für podman, um die unshare-Hürde zu nehmen - name: Apply native bootc rechunking id: rechunk run: | set -x mkdir -p ./chunkah-out - # Installiere rpm-ostree direkt auf dem Ubuntu-Host des Runners - sudo apt-get update && sudo apt-get install -y rpm-ostree + # Wir führen das offizielle fedora-bootc-Image als privilegierter Root-User auf dem Host aus. + # Wir mounten den Storage des rootless-Users (GHA-Runner) direkt hinein. + sudo podman run --rm --privileged \ + -v /var/lib/containers:/var/lib/containers:z \ + -v .:/workspace:z \ + -w /workspace \ + quay.io/fedora/fedora-bootc:44 \ + rpm-ostree compose build-chunked-oci \ + --bootc \ + --format-version=2 \ + --max-layers 128 \ + --from=containers-storage:localhost/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} \ + --output=oci-archive:./chunkah-out/image.ociarchive - # Ausführen als echtes root, damit unshare und Mounts problemlos klappen - sudo rpm-ostree compose build-chunked-oci \ - --bootc \ - --format-version=2 \ - --max-layers 128 \ - --from=containers-storage:localhost/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} \ - --output=oci-archive:./chunkah-out/image.ociarchive - - # Rechte korrigieren, damit Skopeo im nächsten Schritt Lesezugriff hat - sudo chmod 644 ./chunkah-out/image.ociarchive + # Da 'sudo podman' die Datei als root schreibt, korrigieren wir die Rechte für Skopeo + sudo chown -R runner:docker ./chunkah-out - name: Login to GitHub Container Registry uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v3