name: Build & Push Docker Image run-name: Build ${{ gitea.ref_name }} on: push: branches: [main] tags: ["v*"] jobs: build: runs-on: ubuntu-latest env: DOCKER_HOST: tcp://172.17.0.1:2375 steps: - uses: actions/checkout@v4 - name: Install Docker CLI run: | apt-get update -qq apt-get install -y -qq docker.io docker version - name: Log in to Gitea Container Registry run: | echo "${{ secrets.GITEA_TOKEN }}" | docker login ${{ gitea.server_url }} -u ${{ secrets.GITEA_USER }} --password-stdin - name: Build and push run: | SHA=$(git rev-parse --short HEAD) IMAGE="${{ gitea.server_url }}/${{ gitea.repository }}" docker build -t "${IMAGE}:sha-${SHA}" -t "${IMAGE}:latest" . docker push "${IMAGE}:sha-${SHA}" docker push "${IMAGE}:latest" - name: Update k8s manifest in admin/apps env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} run: | SHA=$(git rev-parse --short HEAD) git clone "https://admin:${GITEA_TOKEN}@git.kubebase.de/admin/apps.git" /tmp/apps cd /tmp/apps cd apps/system/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-${SHA}" git push