guanghulab/.forgejo/workflows/test-secrets.yaml

110 lines
4.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 光湖 · Secrets连通测试
name: Secrets测试
on:
workflow_dispatch:
push:
paths:
- '.gitea/workflows/test-secrets.yaml'
- '.forgejo/workflows/test-secrets.yaml'
jobs:
test-secrets:
runs-on: ubuntu
steps:
- name: 测试密钥可用性
env:
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
QIANWEN_API_KEY: ${{ secrets.QIANWEN_API_KEY }}
ZY_REPO_TOKEN: ${{ secrets.ZY_REPO_TOKEN }}
COS_SECRET_ID: ${{ secrets.COS_SECRET_ID }}
COS_SECRET_KEY: ${{ secrets.COS_SECRET_KEY }}
SG_BRAIN_HOST: ${{ secrets.SG_BRAIN_HOST }}
SG_BRAIN_USER: ${{ secrets.SG_BRAIN_USER }}
SG_BRAIN_KEY: ${{ secrets.SG_BRAIN_KEY }}
run: |
echo "═══ Forgejo Secrets 连通测试 ═══"
echo ""
# 检查每个secret是否有值不显示值本身
check_secret() {
local name=$1
local val=$2
if [[ -n "$val" && "$val" != "" ]]; then
local masked="${val:0:4}****${val: -4}"
echo " ✅ $name = $masked (长度: ${#val})"
else
echo " ❌ $name = (空)"
fi
}
check_secret "DEEPSEEK_API_KEY" "$DEEPSEEK_API_KEY"
check_secret "QIANWEN_API_KEY" "$QIANWEN_API_KEY"
check_secret "ZY_REPO_TOKEN" "$ZY_REPO_TOKEN"
check_secret "COS_SECRET_ID" "$COS_SECRET_ID"
check_secret "COS_SECRET_KEY" "$COS_SECRET_KEY"
check_secret "SG_BRAIN_HOST" "$SG_BRAIN_HOST"
check_secret "SG_BRAIN_USER" "$SG_BRAIN_USER"
check_secret "SG_BRAIN_KEY" "$SG_BRAIN_KEY"
echo ""
echo "═══ API连通测试 ═══"
# DeepSeek
if [[ -n "$DEEPSEEK_API_KEY" ]]; then
echo -n " DeepSeek: "
RESP=$(curl -s -X POST https://api.deepseek.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-d '{"model":"deepseek-chat","messages":[{"role":"user","content":"说一个字"}],"max_tokens":10}' \
--connect-timeout 10 2>/dev/null)
if echo "$RESP" | grep -q '"choices"'; then
echo "✅ 可用"
else
echo "❌ 不可用: $(echo $RESP | head -c 100)"
fi
fi
# 通义千问
if [[ -n "$QIANWEN_API_KEY" ]]; then
echo -n " 通义千问: "
RESP=$(curl -s -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $QIANWEN_API_KEY" \
-d '{"model":"qwen-plus","messages":[{"role":"user","content":"说一个字"}],"max_tokens":10}' \
--connect-timeout 10 2>/dev/null)
if echo "$RESP" | grep -q '"choices"'; then
echo "✅ 可用"
else
echo "❌ 不可用: $(echo $RESP | head -c 100)"
fi
fi
# COS
if [[ -n "$COS_SECRET_ID" && -n "$COS_SECRET_KEY" ]]; then
echo -n " COS存储桶: "
RESP=$(curl -s -o /dev/null -w "%{http_code}" \
"https://sy-finetune-corpus-1317346199.cos.ap-guangzhou.myqcloud.com/" \
-H "Authorization: COS $COS_SECRET_ID:$COS_SECRET_KEY" \
--connect-timeout 10 2>/dev/null)
echo "HTTP $RESP"
fi
# 新加坡大脑服务器
if [[ -n "$SG_BRAIN_HOST" ]]; then
echo -n " 新加坡大脑: "
RESP=$(curl -s -o /dev/null -w "%{http_code}" \
"http://$SG_BRAIN_HOST:3000/" \
--connect-timeout 5 2>/dev/null)
if [[ "$RESP" == "000" ]]; then
echo "不可达 (可能需要SSH密钥)"
else
echo "HTTP $RESP"
fi
fi
echo ""
echo "═════════════════════════"
echo "测试完成"
echo "═════════════════════════"