ratemyclient/.forgejo/workflows/docker-build.yml
Kevin Sivic f7ed4c163d
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 10s
Auto-detect DIND daemon hostname/IP
- Test multiple possible DIND hostnames/IPs
- Try docker-runner.docker.internal, host.docker.internal, 172.17.0.1
- Automatically set DOCKER_HOST when connection succeeds
- Verify with docker version before proceeding

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 23:59:25 -05:00

63 lines
2 KiB
YAML

name: Build and Push Docker Image
on:
push:
branches:
- main
jobs:
build-and-push:
runs-on: ubuntu-latest
container:
image: docker:latest
steps:
- name: Find DIND daemon
run: |
echo "=== Checking /etc/hosts ==="
cat /etc/hosts
echo ""
echo "=== Testing DIND connection options ==="
# Try different hostnames/IPs
for host in docker-runner.docker.internal host.docker.internal 172.17.0.1 gateway.docker.internal; do
echo "Testing: $host"
if timeout 2 sh -c "cat < /dev/null > /dev/tcp/$host/2375" 2>/dev/null; then
echo "✅ SUCCESS: Can reach DIND at $host:2375"
echo "DOCKER_HOST=tcp://$host:2375" >> $GITHUB_ENV
export DOCKER_HOST=tcp://$host:2375
docker version && break
else
echo "❌ FAILED: Cannot reach $host:2375"
fi
done
- name: Checkout repository
run: |
apk add --no-cache git
git clone ${{ github.server_url }}/${{ github.repository }} .
git checkout ${{ github.sha }}
ls -la
- name: Build Docker image
run: |
docker build \
-t forgejo.sivic.me/${{ github.repository }}:latest \
-t forgejo.sivic.me/${{ github.repository }}:${{ github.sha }} \
.
- name: Log in to Forgejo Container Registry
run: |
echo "${{ secrets.GITEA_TOKEN }}" | docker login forgejo.sivic.me -u ${{ github.actor }} --password-stdin
- name: Push Docker images
run: |
docker push forgejo.sivic.me/${{ github.repository }}:latest
docker push forgejo.sivic.me/${{ github.repository }}:${{ github.sha }}
- name: Summary
run: |
echo "✅ Successfully built and pushed:"
echo " - forgejo.sivic.me/${{ github.repository }}:latest"
echo " - forgejo.sivic.me/${{ github.repository }}:${{ github.sha }}"