name: Build and Push Docker Image on: push: branches: - main tags: - "v*" jobs: build-and-push: runs-on: dind env: DOCKER_HOST: unix:///var/run/docker.sock steps: - name: Install dependencies run: apk add --no-cache git - 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 build -t "$IMAGE:${{ gitea.sha }}" -t "$IMAGE:latest" . docker push "$IMAGE:${{ gitea.sha }}" docker push "$IMAGE:latest"