.gitea/workflows/redhat_build.yml aktualisiert

This commit is contained in:
2026-08-09 14:50:27 +00:00
parent 624a158f59
commit 4d9096c4f9
+17 -11
View File
@@ -1,4 +1,4 @@
name: Red Hat Build container image name: Build container image
on: on:
# pull_request: # pull_request:
@@ -52,7 +52,7 @@ jobs:
echo "IS_TEST_BUILD=true" >> ${GITHUB_ENV} echo "IS_TEST_BUILD=true" >> ${GITHUB_ENV}
fi fi
- name: Checkout - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Image Metadata - name: Image Metadata
@@ -78,10 +78,10 @@ jobs:
containers.bootc=1 containers.bootc=1
ostree.bootable=1 ostree.bootable=1
# 1. Image mit Buildah bauen # 1. Image mit Buildah v3 bauen
- name: Build Image with Buildah - name: Build Image with Buildah
id: build_image id: build_image
uses: redhat-actions/buildah-build@v2 uses: redhat-actions/buildah-build@v3
with: with:
image: ${{ env.IMAGE_NAME }} image: ${{ env.IMAGE_NAME }}
tags: ${{ env.IMAGE_TAG }} tags: ${{ env.IMAGE_TAG }}
@@ -96,11 +96,17 @@ jobs:
# 3. Chunkah via Action auf das OCI-Verzeichnis anwenden # 3. Chunkah via Action auf das OCI-Verzeichnis anwenden
- name: Process OCI Image with Chunkah - name: Process OCI Image with Chunkah
uses: coreos/chunkah-action@v1 uses: coreos/chunkah-action@main
with: with:
target: ./oci-image target: ./oci-image
# 4. Gechunketes Image für ALLE generierten Tags in die Registry pushen # 4. Skopeo via Action bereitstellen
- name: Setup Skopeo
uses: warjiang/setup-skopeo@v1
with:
version: 'latest'
# 5. Gechunketes Image für ALLE generierten Tags pushen & Digest erfassen
- name: Push Chunked Image to Registry - name: Push Chunked Image to Registry
run: | run: |
echo "${{ secrets.REGISTRY }}" | skopeo login "${{ env.REGISTRY_HOST }}" -u "${{ github.repository_owner }}" --password-stdin echo "${{ secrets.REGISTRY }}" | skopeo login "${{ env.REGISTRY_HOST }}" -u "${{ github.repository_owner }}" --password-stdin
@@ -113,15 +119,15 @@ jobs:
oci:./oci-image "docker://${TAG_REF}" oci:./oci-image "docker://${TAG_REF}"
done done
# Speichere den erzeugten Manifest-Digest für den Cosign-Schritt # Exakten Manifest-Digest für Cosign im GITHUB_ENV speichern
echo "IMAGE_DIGEST=$(cat /tmp/digest.txt)" >> ${GITHUB_ENV} echo "IMAGE_DIGEST=$(cat /tmp/digest.txt)" >> ${GITHUB_ENV}
# 5. Cosign installieren # 6. Cosign installieren
- name: Install Cosign - name: Install Cosign
if: env.IS_TEST_BUILD == 'false' if: env.IS_TEST_BUILD == 'false'
uses: sigstore/cosign-installer@v3 uses: sigstore/cosign-installer@v3
# 6. Container Image signieren # 7. Container Image signieren
- name: Sign container image - name: Sign container image
if: env.IS_TEST_BUILD == 'false' if: env.IS_TEST_BUILD == 'false'
env: env:
@@ -139,10 +145,10 @@ jobs:
--registry-referrers-mode=legacy \ --registry-referrers-mode=legacy \
"${IMAGE_REF}" "${IMAGE_REF}"
# 7. Lokalen OCI-Ordner und Buildah-Storage aufräumen # 8. Lokalen OCI-Ordner, temp-Dateien und Buildah-Storage aufräumen
- name: Post-Build Cleanup - name: Post-Build Cleanup
if: always() if: always()
run: | run: |
echo "Bereinige temporären OCI-Ordner und Buildah-Storage..." echo "Bereinige temporären OCI-Ordner, temporäre Dateien und Buildah-Storage..."
rm -rf ./oci-image /tmp/digest.txt || true rm -rf ./oci-image /tmp/digest.txt || true
buildah rmi --all --force || true buildah rmi --all --force || true