From 69045475503c4dc2acbefe715a1607a6fa5d5792 Mon Sep 17 00:00:00 2001 From: humocs-man <1+humocs-man@noreply.localhost> Date: Sun, 9 Aug 2026 15:22:36 +0000 Subject: [PATCH] .gitea/workflows/redhat_build.yml aktualisiert --- .gitea/workflows/redhat_build.yml | 41 +++++++++++++++++-------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/.gitea/workflows/redhat_build.yml b/.gitea/workflows/redhat_build.yml index d086832..e75e238 100644 --- a/.gitea/workflows/redhat_build.yml +++ b/.gitea/workflows/redhat_build.yml @@ -1,11 +1,11 @@ -name: Red Hat Build container image +name: RHEL Build container image on: # pull_request: # branches: # - main - #schedule: - # - cron: '05 12 * * 2,5' + schedule: + - cron: '05 12 * * 2,5' workflow_dispatch: env: @@ -27,19 +27,21 @@ jobs: id-token: write steps: + # 1. Gitea/OCI-Umgebungsvariablen vorbereiten - name: Prepare environment run: | - # Extrahiert den Domain-Host aus der Gitea/GitHub-URL + # Extrahiert den Domain-Host aus der Gitea-URL REGISTRY_HOST=$(echo "${{ github.server_url }}" | awk -F/ '{print $3}') OWNER_LOWER=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]') - # Extrahiert den Repository-Namen sicher aus github.repository (owner/repo) + # Extrahiert den Repository-Namen sicher REPO_NAME=$(echo "${{ github.repository }}" | cut -d'/' -f2 | tr '[:upper:]' '[:lower:]') echo "REGISTRY_HOST=${REGISTRY_HOST}" >> ${GITHUB_ENV} echo "IMAGE_REGISTRY=${REGISTRY_HOST}/${OWNER_LOWER}" >> ${GITHUB_ENV} echo "IMAGE_NAME=${REPO_NAME}" >> ${GITHUB_ENV} + # 2. Tag-Namen & Branch-Sanitizing - name: Determine image tag run: | BRANCH="${GITHUB_REF_NAME}" @@ -52,9 +54,11 @@ jobs: echo "IS_TEST_BUILD=true" >> ${GITHUB_ENV} fi + # 3. Repository auschecken - name: Checkout repository uses: actions/checkout@v7.0.1 + # 4. Metadata & OCI-Labels erzeugen - name: Image Metadata id: metadata uses: docker/metadata-action@v6.2.0 @@ -78,7 +82,7 @@ jobs: containers.bootc=1 ostree.bootable=1 - # 1. Image mit Buildah v3 bauen + # 5. Image mit Buildah bauen - name: Build Image with Buildah id: build_image uses: redhat-actions/buildah-build@v3.0.2 @@ -89,22 +93,23 @@ jobs: labels: ${{ steps.metadata.outputs.labels }} oci: true - # 2. In lokales OCI-Verzeichnis exportieren + # 6. In lokales OCI-Verzeichnis exportieren - name: Export Image to OCI Layout run: | buildah push ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} oci:./oci-image - # 3. Chunkah via Action auf das OCI-Verzeichnis anwenden + # 7. Chunkah via Project Bluefin Action ausführen - name: Process OCI Image with Chunkah - uses: coreos/chunkah@v0.6.0 + uses: projectbluefin/actions/bootc-build/chunkah@main with: target: ./oci-image - # 4. Skopeo via Podman-Container-Tools Action bereitstellen - - name: Setup Skopeo - uses: podman-container-tools/skopeo@v1.24.0 + # 8. Skopeo nativ installieren (100% Gitea-act_runner kompatibel) + - name: Install Skopeo + run: | + sudo apt-get update && sudo apt-get install -y skopeo - # 5. Gechunketes Image für ALLE generierten Tags pushen & Digest erfassen + # 9. Gechunketes Image für ALLE Tags pushen & Manifest-Digest erfassen - name: Push Chunked Image to Registry run: | echo "${{ secrets.REGISTRY }}" | skopeo login "${{ env.REGISTRY_HOST }}" -u "${{ github.repository_owner }}" --password-stdin @@ -117,15 +122,15 @@ jobs: oci:./oci-image "docker://${TAG_REF}" done - # Exakten Manifest-Digest für Cosign im GITHUB_ENV speichern + # Speichere den exakten Manifest-Digest für Cosign echo "IMAGE_DIGEST=$(cat /tmp/digest.txt)" >> ${GITHUB_ENV} - # 6. Cosign installieren + # 10. Cosign installieren - name: Install Cosign if: env.IS_TEST_BUILD == 'false' uses: sigstore/cosign-installer@v4.1.2 - # 7. Container Image signieren + # 11. Container Image signieren - name: Sign container image if: env.IS_TEST_BUILD == 'false' env: @@ -143,10 +148,10 @@ jobs: --registry-referrers-mode=legacy \ "${IMAGE_REF}" - # 8. Lokalen OCI-Ordner, temp-Dateien und Buildah-Storage aufräumen + # 12. Runner-Speicher aufräumen - name: Post-Build Cleanup if: always() run: | - echo "Bereinige temporären OCI-Ordner, temporäre Dateien und Buildah-Storage..." + echo "Bereinige temporäre Dateien und Buildah-Storage..." rm -rf ./oci-image /tmp/digest.txt || true buildah rmi --all --force || true \ No newline at end of file