name: 网络探测 # runner 环境盘点:出网连通性 + 基础工具链 + clone/装 uv 迷你实测, # 结果写入 commit status(公开仓库匿名可读)。 # 改动本文件推送即触发。 on: push: paths: ['.gitea/workflows/probe.yml'] workflow_dispatch: jobs: probe: name: runner 环境探测 runs-on: ubuntu-latest steps: - name: 工具链与连通性探测 run: | SERVER="${GITHUB_SERVER_URL:-https://gitea.4i.hk}" post() { curl -s -m 10 -X POST \ -H "Authorization: token $TOKEN" \ -H 'Content-Type: application/json' \ -d "{\"state\":\"success\",\"context\":\"probe/$1\",\"description\":\"$2\"}" \ "$SERVER/api/v1/repos/$GITHUB_REPOSITORY/statuses/$GITHUB_SHA" \ -o /dev/null -w "probe/$1 = $2 (HTTP %{http_code})\n" } inv() { command -v "$1" >/dev/null 2>&1 && echo yes || echo no; } code() { curl -s -m 8 -o /dev/null -w '%{http_code}' -L "$1"; } post python3 "$(python3 -V 2>/dev/null || echo absent)" post pip "$(inv pip)" post pip3 "$(inv pip3)" post uv "$(inv uv)" post git "$(inv git)" post npx "$(inv npx)" post pypi "$(code https://pypi.org/simple/)" post npmmirror "$(code https://registry.npmmirror.com)" rm -rf /tmp/src if git clone --depth=1 "$SERVER/$GITHUB_REPOSITORY.git" /tmp/src >/dev/null 2>&1; then post clone ok else post clone fail fi if cd /tmp/src 2>/dev/null \ && { pip install uv >/dev/null 2>&1 \ || pip3 install uv >/dev/null 2>&1 \ || python3 -m pip install uv >/dev/null 2>&1; }; then post pip-install-uv ok else post pip-install-uv fail fi UV_BIN="$(command -v uv || echo "$HOME/.local/bin/uv")" post uv-version "$("$UV_BIN" --version 2>/dev/null || echo none)"