Files
tool-evaluator/.gitea/workflows/build.yaml
T
root f80ccbaf4e
Build & Push Docker Image / build (push) Failing after 7s
fix: CI sed pattern for Kustomize images.newTag
2026-07-30 08:22:33 +02:00

62 lines
1.9 KiB
YAML

name: Build & Push Docker Image
run-name: Build ${{ gitea.ref_name }}
on:
push:
branches: [main]
tags: ["v*"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: ${{ gitea.server_url }}
username: ${{ secrets.GITEA_USER }}
password: ${{ secrets.GITEA_TOKEN }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ gitea.server_url }}/${{ gitea.repository }}
tags: |
type=sha,format=long
type=ref,event=branch
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Update k8s manifest in admin/apps
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
IMAGE_TAG: ${{ steps.meta.outputs.tags }}
run: |
SHA=$(echo "$IMAGE_TAG" | grep -oE 'sha-[a-f0-9]+' | head -1)
if [ -z "$SHA" ]; then SHA=$(echo "$IMAGE_TAG" | grep -oE 'main-[a-f0-9]+' | head -1); fi
if [ -z "$SHA" ]; then echo "No SHA tag found"; exit 1; fi
git clone "https://admin:${GITEA_TOKEN}@git.kubebase.de/admin/apps.git" /tmp/apps
cd /tmp/apps
cd apps/toolrate/overlays/k3s
sed -i "s|newTag: .*|newTag: ${SHA}|" kustomization.yaml
git config user.name "Gitea Actions"
git config user.email "actions@git.kubebase.de"
git add -A
git diff --cached --quiet || git commit -m "chore: update toolrate image to ${SHA}"
git push