Files
tool-evaluator/.gitea/workflows/build.yaml
T
root bd0b2c0b4f
Build & Push Docker Image / build (push) Failing after 7s
ci: update workflow to auto-patch admin/apps after build
2026-07-30 08:21:57 +02:00

61 lines
2.0 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
sed -i "s|image: git.kubebase.de/admin/tool-evaluator:.*|image: git.kubebase.de/admin/tool-evaluator:${SHA}|" apps/toolrate/overlays/k3s/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