2025-11-28 21:38:24 -05:00
|
|
|
name: Build and Push Docker Image
|
|
|
|
|
|
|
|
|
|
on:
|
|
|
|
|
push:
|
|
|
|
|
branches:
|
|
|
|
|
- main
|
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
build-and-push:
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
|
|
steps:
|
2025-11-30 23:30:36 -05:00
|
|
|
- name: Quick Network Test (no installs)
|
2025-11-30 21:01:54 -05:00
|
|
|
run: |
|
2025-11-30 23:23:54 -05:00
|
|
|
echo "=== DNS Configuration ==="
|
2025-11-30 23:30:36 -05:00
|
|
|
cat /etc/resolv.conf || echo "Cannot read resolv.conf"
|
2025-11-30 23:25:21 -05:00
|
|
|
|
2025-11-30 23:23:54 -05:00
|
|
|
echo ""
|
2025-11-30 23:30:36 -05:00
|
|
|
echo "=== Hosts file ==="
|
|
|
|
|
cat /etc/hosts || echo "Cannot read hosts"
|
2025-11-30 23:25:21 -05:00
|
|
|
|
2025-11-30 23:23:54 -05:00
|
|
|
echo ""
|
2025-11-30 23:30:36 -05:00
|
|
|
echo "=== Can we reach the internet? ==="
|
|
|
|
|
timeout 5 wget -O- http://google.com 2>&1 | head -5 || echo "Cannot reach google.com"
|
2025-11-30 23:25:21 -05:00
|
|
|
|
|
|
|
|
echo ""
|
2025-11-30 23:30:36 -05:00
|
|
|
echo "=== Can we reach Forgejo? ==="
|
|
|
|
|
timeout 5 wget -O- https://forgejo.sivic.me 2>&1 | head -5 || echo "Cannot reach forgejo.sivic.me"
|
2025-11-30 23:25:21 -05:00
|
|
|
|
2025-11-30 23:23:54 -05:00
|
|
|
echo ""
|
2025-11-30 23:30:36 -05:00
|
|
|
echo "=== Environment ==="
|
|
|
|
|
echo "Repository: ${{ github.repository }}"
|
|
|
|
|
echo "Server URL: ${{ github.server_url }}"
|
2025-11-30 23:25:21 -05:00
|
|
|
|
2025-11-30 23:23:54 -05:00
|
|
|
echo ""
|
2025-11-30 23:30:36 -05:00
|
|
|
echo "=== Network interfaces ==="
|
|
|
|
|
cat /proc/net/dev || echo "Cannot read network devices"
|
2025-11-30 23:25:21 -05:00
|
|
|
|
2025-11-30 23:23:54 -05:00
|
|
|
echo ""
|
2025-11-30 23:30:36 -05:00
|
|
|
echo "=== Default route ==="
|
|
|
|
|
cat /proc/net/route || echo "Cannot read routing table"
|
2025-11-30 23:23:54 -05:00
|
|
|
|
2025-11-30 23:30:36 -05:00
|
|
|
- name: Test if we're online at all
|
2025-11-30 23:23:54 -05:00
|
|
|
run: |
|
2025-11-30 23:30:36 -05:00
|
|
|
echo "Testing basic connectivity..."
|
2025-11-30 23:25:21 -05:00
|
|
|
|
2025-11-30 23:30:36 -05:00
|
|
|
# Try to connect to Google's DNS
|
|
|
|
|
timeout 5 bash -c 'cat < /dev/null > /dev/tcp/8.8.8.8/53' 2>&1 && echo "Can reach 8.8.8.8:53" || echo "CANNOT reach 8.8.8.8:53"
|
2025-11-30 23:25:21 -05:00
|
|
|
|
2025-11-30 23:30:36 -05:00
|
|
|
# Try to connect to Google HTTP
|
|
|
|
|
timeout 5 bash -c 'cat < /dev/null > /dev/tcp/google.com/80' 2>&1 && echo "Can reach google.com:80" || echo "CANNOT reach google.com:80"
|
2025-11-28 21:38:24 -05:00
|
|
|
|
2025-11-30 23:30:36 -05:00
|
|
|
# Try to connect to Forgejo
|
|
|
|
|
timeout 5 bash -c 'cat < /dev/null > /dev/tcp/forgejo.sivic.me/443' 2>&1 && echo "Can reach forgejo.sivic.me:443" || echo "CANNOT reach forgejo.sivic.me:443"
|
2025-11-28 21:38:24 -05:00
|
|
|
|
2025-11-30 23:30:36 -05:00
|
|
|
- name: Stop here and report
|
2025-11-30 21:01:54 -05:00
|
|
|
run: |
|
2025-11-30 23:30:36 -05:00
|
|
|
echo ""
|
|
|
|
|
echo "================================================================"
|
|
|
|
|
echo "DIAGNOSIS:"
|
|
|
|
|
echo "If you cannot reach 8.8.8.8:53, your runner has NO internet access"
|
|
|
|
|
echo "This is a runner configuration issue, not a DNS issue"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "Fix: Check your Forgejo runner network configuration"
|
|
|
|
|
echo "- Is the runner container using host networking?"
|
|
|
|
|
echo "- Does the host have internet access?"
|
|
|
|
|
echo "- Are there firewall rules blocking the runner?"
|
|
|
|
|
echo "================================================================"
|
|
|
|
|
exit 1
|