name: Build And Publish Production Image on: push: branches: - main jobs: build: name: Build And Publish Production Image runs-on: ubuntu-latest env: REGISTRY: gitea.lab IMAGE_NAME: sancho41/condado-newsletter REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} steps: - uses: actions/checkout@v4 with: github-server-url: http://gitea.lab - name: Build debug context run: | set -eu echo "Build debug" echo "Repository: ${GITEA_REPOSITORY:-unknown}" echo "Ref: ${GITEA_REF:-unknown}" echo "Sha: ${GITEA_SHA:-unknown}" echo "Runner OS: ${RUNNER_OS:-unknown}" echo "Registry: ${REGISTRY}" echo "Image: ${IMAGE_NAME}" echo "Image latest tag: ${REGISTRY}/${IMAGE_NAME}:latest" echo "Image sha tag: ${REGISTRY}/${IMAGE_NAME}:${GITEA_SHA:-unknown}" echo "HTTP_PROXY=${HTTP_PROXY:-}" echo "HTTPS_PROXY=${HTTPS_PROXY:-}" echo "NO_PROXY=${NO_PROXY:-}" if command -v ip >/dev/null 2>&1; then echo "Runner network info:" ip -4 addr show || true ip route || true else hostname -I || true fi - name: Verify Docker CLI run: docker version - name: Log in to Docker Hub (optional) if: ${{ secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' }} run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login docker.io -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin - name: Build all-in-one image run: | docker build -t ${IMAGE_NAME}:latest" -f Dockerfile.allinone . docker tag ${IMAGE_NAME}:latest" ${IMAGE_NAME}:${{ gitea.sha }}" - name: Build result debug run: | set -eu echo "Listing produced image tags" docker image ls ${IMAGE_NAME}" --format 'table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedSince}}' || true