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 }}
|
labels: ${{ steps.metadata.outputs.labels }}
|
||||||
oci: true
|
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
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v3
|
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v3
|
||||||
if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
|
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
|
export REGISTRY_AUTH_FILE=$HOME/.docker/config.json
|
||||||
REGISTRY_PATH="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}"
|
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
|
for tag in ${{ steps.metadata.outputs.tags }}; do
|
||||||
skopeo copy \
|
skopeo copy \
|
||||||
--dest-compress-format=zstd \
|
--dest-compress-format=zstd \
|
||||||
--dest-compress-level=5 \
|
--dest-compress-level=5 \
|
||||||
oci-archive:./chunkah-out/image.ociarchive \
|
containers-storage:localhost/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} \
|
||||||
docker://$REGISTRY_PATH:$tag
|
docker://$REGISTRY_PATH:$tag
|
||||||
done
|
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}}')
|
FINAL_REGISTRY_DIGEST=$(skopeo inspect docker://$REGISTRY_PATH:${{ env.DEFAULT_TAG }} --format '{{.Digest}}')
|
||||||
echo "REGISTRY_DIGEST=$FINAL_REGISTRY_DIGEST" >> $GITHUB_ENV
|
echo "REGISTRY_DIGEST=$FINAL_REGISTRY_DIGEST" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user