Refactor build workflow by removing rechunking step
Removed native bootc rechunking step and updated image copy process.
This commit is contained in:
@@ -91,30 +91,6 @@ jobs:
|
||||
labels: ${{ steps.metadata.outputs.labels }}
|
||||
oci: true
|
||||
|
||||
# Intelligentes Rechunking auf RPM-Paketbasis mit maximal 128 Layern via Container-Lauf
|
||||
# Intelligentes Rechunking auf RPM-Paketbasis mit maximal 128 Layern via Mini-Container
|
||||
- name: Apply native bootc rechunking
|
||||
id: rechunk
|
||||
run: |
|
||||
set -x
|
||||
mkdir -p ./chunkah-out
|
||||
|
||||
# Wir nutzen fedora-minimal, installieren kurz rpm-ostree und zerteilen das Image
|
||||
podman run --rm --privileged \
|
||||
-v /var/lib/containers:/var/lib/containers:z \
|
||||
-v .:/workspace:z \
|
||||
-w /workspace \
|
||||
quay.io/fedora/fedora-minimal:latest \
|
||||
bash -c "
|
||||
dnf install -y rpm-ostree jq && \
|
||||
rpm-ostree compose build-chunked-oci \
|
||||
--bootc \
|
||||
--format-version=2 \
|
||||
--max-layers 128 \
|
||||
--from=localhost/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} \
|
||||
--output=oci-archive:./chunkah-out/image.ociarchive
|
||||
"
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v3
|
||||
if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
|
||||
@@ -131,16 +107,17 @@ jobs:
|
||||
export REGISTRY_AUTH_FILE=$HOME/.docker/config.json
|
||||
REGISTRY_PATH="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}"
|
||||
|
||||
# Loop über alle generierten Tags aus dem Metadata-Schritt
|
||||
# Kopiert das Image direkt aus dem lokalen Speicher des Runners hoch
|
||||
# und wendet dabei die performante ZSTD-Kompression an.
|
||||
for tag in ${{ steps.metadata.outputs.tags }}; do
|
||||
skopeo copy \
|
||||
--dest-compress-format=zstd \
|
||||
--dest-compress-level=5 \
|
||||
oci-archive:./chunkah-out/image.ociarchive \
|
||||
containers-storage:localhost/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} \
|
||||
docker://$REGISTRY_PATH:$tag
|
||||
done
|
||||
|
||||
# Den echten, von der Registry vergebenen Manifest-Digest abfragen
|
||||
# Den echten, finalen Registry-Digest abfragen
|
||||
FINAL_REGISTRY_DIGEST=$(skopeo inspect docker://$REGISTRY_PATH:${{ env.DEFAULT_TAG }} --format '{{.Digest}}')
|
||||
echo "REGISTRY_DIGEST=$FINAL_REGISTRY_DIGEST" >> $GITHUB_ENV
|
||||
|
||||
|
||||
Reference in New Issue
Block a user