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.
This commit is contained in:
humocs-man
2026-05-17 18:44:42 +02:00
committed by GitHub
parent b58dd26948
commit af9200cce6
+11 -8
View File
@@ -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
# Ausführen als echtes root, damit unshare und Mounts problemlos klappen
sudo rpm-ostree compose build-chunked-oci \
# 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
# 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