name: Build and Push Docker Image on: push: branches: - 'main' - 'master' jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Install Docker (for Debian bullseye) run: | # Aggiorna i pacchetti apt-get update apt-get install -y ca-certificates curl gnupg lsb-release # Aggiungi la chiave GPG di Docker mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg # Aggiungi il repository DOCKER (usa bullseye, non bookworm!) echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bullseye stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null # Installa Docker apt-get update apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Verifica docker --version docker compose version - name: Log in to Gitea Container Registry run: | echo "${{ secrets.AUTHTOKEN }}" | docker login \ -u "${{ secrets.REGISTRY_USER }}" \ --password-stdin \ gitea.enrilinux.ovh - name: Extract metadata id: meta run: | echo "REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F'/' '{print $2}')" >> $GITHUB_OUTPUT echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Build and push Docker image run: | REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F'/' '{print $2}') SHORT_SHA=$(git rev-parse --short HEAD) docker build -t gitea.enrilinux.ovh/${{ github.repository_owner }}/${REPO_NAME}:latest . docker tag gitea.enrilinux.ovh/${{ github.repository_owner }}/${REPO_NAME}:latest \ gitea.enrilinux.ovh/${{ github.repository_owner }}/${REPO_NAME}:${SHORT_SHA} docker push gitea.enrilinux.ovh/${{ github.repository_owner }}/${REPO_NAME}:latest docker push gitea.enrilinux.ovh/${{ github.repository_owner }}/${REPO_NAME}:${SHORT_SHA}