From bcbc51edc8958aaa39154c146d94e190004cf5ff Mon Sep 17 00:00:00 2001 From: OG T Date: Fri, 10 Apr 2026 13:07:07 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E7=94=A8=20/proc/net/route=20?= =?UTF-8?q?=E5=8F=96=20host=20bridge=20IP=EF=BC=8C=E4=B8=8D=E4=BE=9D?= =?UTF-8?q?=E8=B3=B4=20ip=20=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ip 指令在精簡 runner 環境不存在,改用 /proc/net/route awk 解析 fallback 到 172.17.0.1 (docker0 慣例) Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/cd.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/cd.yaml b/.gitea/workflows/cd.yaml index 29c30833..5fcaaf19 100644 --- a/.gitea/workflows/cd.yaml +++ b/.gitea/workflows/cd.yaml @@ -135,8 +135,12 @@ jobs: psql -U awoooi -d awoooi_test \ < tests/integration/setup_test_schema.sql # DinD: runner 連 sibling container 需走 host bridge → port 15432 - # docker0 bridge IP 通常是 172.17.0.1,但用 route 確保準確 - HOST_IP=$(ip route | awk '/default/{print $3}' | head -1) + # ip 指令在精簡 runner 環境可能不存在,改用 /proc/net/route + HOST_IP=$(awk '$2=="00000000"{printf "%d.%d.%d.%d\n", + "0x"substr($3,7,2)+0,"0x"substr($3,5,2)+0, + "0x"substr($3,3,2)+0,"0x"substr($3,1,2)+0}' /proc/net/route | head -1) + # fallback: docker0 bridge 慣例 IP + [ -z "$HOST_IP" ] && HOST_IP="172.17.0.1" echo "host bridge IP: $HOST_IP" TEST_DATABASE_URL="postgresql+asyncpg://awoooi:awoooi_test_2026@${HOST_IP}:15432/awoooi_test?ssl=disable" \ /opt/api-venv/bin/pytest tests/integration/test_b5_core_flows.py -v --tb=short