From 2e480b70126f3e7afde107925fbf19acd1e18e17 Mon Sep 17 00:00:00 2001 From: gunnar Date: Thu, 11 Jun 2026 19:18:38 +0200 Subject: [PATCH] changed build.yml after reworking Infrastructure --- .gitea/workflows/build.yml | 63 +++++--------------------------------- 1 file changed, 8 insertions(+), 55 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index b1d3a90..e73c206 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -30,7 +30,6 @@ jobs: steps: - name: Prepare environment run: | - # Extrahiert die reine Domain/Host (inkl. Port, falls vorhanden) aus der Gitea-URL REGISTRY_HOST=$(echo "${{ github.server_url }}" | awk -F/ '{print $3}') OWNER_LOWER="${{ github.repository_owner }}" NAME_LOWER="${{ env.IMAGE_NAME }}" @@ -61,7 +60,7 @@ jobs: id: metadata uses: docker/metadata-action@v5 with: - images: ${{ env.IMAGE_REGISTRY }}/${{ github.repository }} + images: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }} tags: | type=raw,value=${{ env.IMAGE_TAG }} type=raw,value=${{ env.IMAGE_TAG }}.{{date 'YYYYMMDD'}},enable=${{ env.IS_TEST_BUILD == 'false' }} @@ -80,11 +79,6 @@ jobs: containers.bootc=1 ostree.bootable=1 - - name: Install Skopeo - run: | - sudo apt-get update - sudo apt-get install -y skopeo - - name: Login to Gitea Container Registry if: github.event_name != 'pull_request' uses: docker/login-action@v3 @@ -93,46 +87,24 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY }} - - name: Build Image Locally (as true OCI Archive) + - name: Build and Push Image (Native OCI via Buildx) uses: docker/build-push-action@v6 id: build_image with: context: . file: ./Containerfile - push: false - # Wir schreiben ALLE Tags direkt in ein echtes OCI-Archiv auf die Platte - outputs: type=oci,dest=image.tar + push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.metadata.outputs.tags }} labels: ${{ steps.metadata.outputs.labels }} - - name: Push Image via Skopeo (All Tags) - if: github.event_name != 'pull_request' - env: - GENERATED_TAGS: ${{ steps.metadata.outputs.tags }} + - name: Install Skopeo (Required for Cosign Inspect) + if: github.event_name != 'pull_request' && env.IS_TEST_BUILD == 'false' run: | - # Die mehrzeiligen Tags in ein Bash-Array umwandeln - TAG_LIST=($GENERATED_TAGS) - - # Wir loopen über das OCI-Archiv. Skopeo findet dort jetzt JEDES Tag! - for tag in "${TAG_LIST[@]}"; do - echo "Pushing $tag as native OCI to Gitea..." - skopeo copy \ - --format oci \ - --dest-creds "${{ github.repository_owner }}:${{ secrets.REGISTRY }}" \ - oci-archive:image.tar \ - docker://$tag - done - - # Sauber aufräumen - rm -f image.tar - - - name: Install envsubst dependencies - if: github.event_name != 'pull_request' - run: | - sudo apt-get update && sudo apt-get install -y gettext + sudo apt-get update + sudo apt-get install -y skopeo - name: Install Cosign - if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' && env.IS_TEST_BUILD == 'false' uses: sigstore/cosign-installer@v4.1.2 - name: Sign container image @@ -154,22 +126,3 @@ jobs: --tlog-upload=false \ --registry-referrers-mode=legacy \ "${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}@${DIGEST}" - - - name: Post-Build Cleanup - if: always() - run: | - echo "Starting safe, server-friendly cleanup..." - - # 1. Entfernt NUR echte verwaiste Zwischenschritte (:) - # Niemals getaggte Images (wie deine Registry oder fluffy-pancake) - docker system prune -f --volumes - - # 2. Den BuildKit-Cache leeren (Das ist der Haupt-Speicherfresser bei Buildx) - docker builder prune -af - - # 3. Temporäre Datei löschen - rm -f image.tar - - echo "Cleanup complete. Your server storage is safe!" - -