ci: 新增网络与令牌诊断工作流(第二轮)
diag / diag (push) Failing after 1s
diag2 / diag2 (push) Successful in 18s

This commit is contained in:
姚章浩
2026-09-28 18:15:27 +08:00
parent 72424713da
commit 2190c5202d
+52
View File
@@ -0,0 +1,52 @@
name: diag2
# 临时诊断 v2:网络出口 / GITHUB_TOKEN / clone 可行性 / 工具链可安装性
# 注意: act 以 bash -e -o pipefail 执行每步,故全程禁用会提前退出的管道
on:
push:
workflow_dispatch:
jobs:
diag2:
runs-on: ubuntu-latest
steps:
- name: 网络与令牌自检
env:
GT: ${{ secrets.GITHUB_TOKEN }}
run: |
set +e
echo "=== GITHUB_TOKEN(secrets 上下文) ==="
if [ -n "${GT}" ]; then echo " 已注入 len=${#GT}"; else echo " 未注入"; fi
echo "=== 外网出口 ==="
for u in https://pypi.org/simple/ https://go.dev/dl/ https://registry.npmjs.org/ https://goproxy.cn/ https://github.com/ http://192.168.50.223:3000/; do
c=$(curl -s -o /dev/null -m 8 -w '%{http_code}' "$u")
echo " $u -> ${c:-ERR}"
done
echo "=== DNS ==="
getent hosts go.dev || echo " go.dev 解析失败"
getent hosts goproxy.cn || echo " goproxy.cn 解析失败"
echo "=== 基础镜像里有没有 ip/ss ==="
command -v ip || echo " ip 缺失"
command -v ss || echo " ss 缺失"
echo "=== docker.sock 是否挂进容器 ==="
ls -la /var/run/docker.sock 2>&1 || echo " 无 docker.sock"
docker ps 2>&1 | head -n 3 || true
echo "=== 尝试用 GITHUB_TOKEN 手动 clone ==="
mkdir -p /tmp/ck && cd /tmp/ck
if [ -n "${GT}" ]; then
git clone --quiet --depth 1 "http://x-access-token:${GT}@192.168.50.223:3000/${GITHUB_REPOSITORY}.git" repo 2>&1 || echo " token clone 失败"
else
echo " 跳过(无 token)"
fi
echo "=== 匿名 clone(公开库)==="
git clone --quiet --depth 1 "http://192.168.50.223:3000/${GITHUB_REPOSITORY}.git" repo2 2>&1 || echo " 匿名 clone 失败"
ls -a repo repo2 2>&1 | head -n 20 || true
echo "=== 工具链可安装性 ==="
pip download --no-deps -q -d /tmp/pipck uv >/dev/null 2>&1 && echo " pip 可取 uv: OK" || echo " pip 取 uv: 失败"
curl -s -o /dev/null -m 20 -w ' go tarball http=%{http_code} size=%{size_download}\n' -r 0-1000 https://goproxy.cn/ || true
echo "=== 诊断 v2 结束 ==="