mirror of
https://github.com/snowy-yang/qqbotsdk.git
synced 2026-10-21 14:44:47 +00:00
58 lines
2.0 KiB
YAML
58 lines
2.0 KiB
YAML
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)"
|