Files
docker-node-and-go/.gitea/workflows/build-and-push.yml
Jean-Luc Makiola d5a37c2df6
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
ci: wait for Docker daemon before steps, switch to docker buildx
2026-02-23 19:51:47 +01:00

57 lines
1.6 KiB
YAML

name: Build and Push Docker Image
on:
push:
branches:
- main
tags:
- "v*"
jobs:
build-and-push:
runs-on: dind
services:
dind:
image: docker:dind
options: --privileged
env:
DOCKER_TLS_CERTDIR: ""
env:
DOCKER_HOST: tcp://localhost:2375
steps:
- name: Install dependencies
run: apk add --no-cache git docker-cli
- name: Wait for Docker daemon
run: |
until docker info > /dev/null 2>&1; do
echo "Waiting for Docker daemon..."
sleep 2
done
- name: Checkout
run: |
GITEA_HOST="${{ gitea.server_url }}"
GITEA_HOST="${GITEA_HOST#https://}"
GITEA_HOST="${GITEA_HOST#http://}"
git clone "https://oauth2:${{ secrets.GITEA_TOKEN }}@${GITEA_HOST}/${{ gitea.repository }}.git" .
git checkout ${{ gitea.sha }}
- name: Log in to Gitea registry
run: |
REGISTRY="${{ gitea.server_url }}"
REGISTRY="${REGISTRY#https://}"
REGISTRY="${REGISTRY#http://}"
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login "$REGISTRY" -u "${{ gitea.actor }}" --password-stdin
- name: Build and push
run: |
REGISTRY="${{ gitea.server_url }}"
REGISTRY="${REGISTRY#https://}"
REGISTRY="${REGISTRY#http://}"
IMAGE="$REGISTRY/${{ gitea.repository }}"
docker buildx build -t "$IMAGE:${{ gitea.sha }}" -t "$IMAGE:latest" .
docker push "$IMAGE:${{ gitea.sha }}"
docker push "$IMAGE:latest"