diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 1a7fb84..2cff905 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -9,53 +9,40 @@ on: jobs: build: runs-on: ubuntu-latest + env: + DOCKER_HOST: tcp://172.17.0.1:2375 steps: - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - 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 - 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 + run: | + echo "${{ secrets.GITEA_TOKEN }}" | docker login ${{ gitea.server_url }} -u ${{ secrets.GITEA_USER }} --password-stdin - 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 + 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 }} - 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 - + 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/toolrate/overlays/k3s + 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}" + git diff --cached --quiet || git commit -m "chore: update toolrate image to sha-${SHA}" git push