From bd9cb67b14d81acbf77e04e9eab5477e7f6d321e Mon Sep 17 00:00:00 2001 From: "Gan, Jimmy" Date: Thu, 4 Jun 2026 11:22:41 +0800 Subject: [PATCH] fix(ci): replace python3 with sed/grep in deploy step containers The nas runner's deploy container lacks python3. Replaced: - compose networks stripping: python3 -> sed - network verification: python3 -> grep - Removed broken --dns and --add-host options from deploy container Co-Authored-By: Claude Opus 4.8 --- .gitea/workflows/deploy.yml | 34 ++++++++-------------------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index e22121e..ffeb014 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -178,7 +178,6 @@ jobs: GITEA_DB_PASSWORD: nyM3P4v1aYAsT7zfUtdguImNVHgFltCKCY/OjzWZVRE= container: network: gitea_gitea - options: --add-host=host.docker.internal:host-gateway --dns 192.168.31.1 --dns 8.8.8.8 volumes: - /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker - /volume1/docker/nas-dashboard:/nas-dashboard @@ -263,30 +262,7 @@ jobs: if ! docker container inspect nas-dashboard >/dev/null 2>&1; then echo "Compose failed, stripping networks and retrying..." docker rm -f docker-socket-proxy nas-dashboard 2>/dev/null || true - python3 -c " - import os - lines = open('/nas-dashboard/docker-compose.yml').readlines() - out = [] - skip_net = False - for l in lines: - stripped = l.strip() - if stripped == 'networks:' and not l[0].isspace(): - skip_net = True - continue - if skip_net: - if l[0].isspace(): - continue - skip_net = False - if stripped == 'networks:' and l[:4].strip() == '': - skip_net = True - continue - if skip_net: - if l.startswith(' '): - continue - skip_net = False - out.append(l) - open('/nas-dashboard/prod-ci.yml','w').writelines(out) - " + sed '/^networks:/,$d' /nas-dashboard/docker-compose.yml > /nas-dashboard/prod-ci.yml docker compose -f /nas-dashboard/prod-ci.yml up -d --pull never 2>&1 || true fi @@ -351,7 +327,13 @@ jobs: # Verify network connections echo "=== Network connections ===" - docker inspect nas-dashboard --format '{{json .NetworkSettings.Networks}}' | python3 -c 'import json,sys;nets=json.load(sys.stdin);[print(f" Connected to {n}") for n in nets];assert "nas-dashboard_internal" in nets, "Missing nas-dashboard_internal";print("All network connections established")' + if docker inspect nas-dashboard --format '{{json .NetworkSettings.Networks}}' | grep -q 'nas-dashboard_internal'; then + echo " Connected to nas-dashboard_internal" + echo "All network connections established" + else + echo "❌ Missing nas-dashboard_internal network" + exit 1 + fi # Wait for container to be healthy echo "Waiting for container to be healthy..."