105 lines
4.1 KiB
YAML
105 lines
4.1 KiB
YAML
# 光湖 · 最终Secrets测试
|
|
name: Secrets最终测试
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- '.gitea/workflows/final-secrets-test.yaml'
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu
|
|
steps:
|
|
- name: 检查secrets
|
|
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 "=== SECRETS CHECK ==="
|
|
for key in DEEPSEEK_API_KEY QIANWEN_API_KEY ZY_REPO_TOKEN COS_SECRET_ID COS_SECRET_KEY SG_BRAIN_HOST SG_BRAIN_USER SG_BRAIN_KEY; do
|
|
eval val=\$$key
|
|
if [ -z "$val" ]; then
|
|
echo "EMPTY: $key"
|
|
else
|
|
echo "OK: $key (len=${#val})"
|
|
fi
|
|
done
|
|
|
|
- name: 测试DeepSeek
|
|
env:
|
|
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
|
|
run: |
|
|
if [ -n "$DEEPSEEK_API_KEY" ]; then
|
|
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":"1+1=?"}],"max_tokens":10}' \
|
|
--connect-timeout 10 | python3 -c "
|
|
import json,sys
|
|
try:
|
|
d=json.load(sys.stdin)
|
|
if 'choices' in d:
|
|
print('DeepSeek: OK -', d['choices'][0]['message']['content'])
|
|
else:
|
|
print('DeepSeek: FAILED -', d.get('error',{}).get('message','unknown'))
|
|
except Exception as e:
|
|
print('DeepSeek: ERROR -', str(e))
|
|
"
|
|
else
|
|
echo "DeepSeek: NO KEY"
|
|
fi
|
|
|
|
- name: 测试通义千问
|
|
env:
|
|
QIANWEN_API_KEY: ${{ secrets.QIANWEN_API_KEY }}
|
|
run: |
|
|
if [ -n "$QIANWEN_API_KEY" ]; then
|
|
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":"1+1=?"}],"max_tokens":10}' \
|
|
--connect-timeout 10 | python3 -c "
|
|
import json,sys
|
|
try:
|
|
d=json.load(sys.stdin)
|
|
if 'choices' in d:
|
|
print('Qianwen: OK -', d['choices'][0]['message']['content'])
|
|
else:
|
|
print('Qianwen: FAILED -', d.get('error',{}).get('message','unknown'))
|
|
except Exception as e:
|
|
print('Qianwen: ERROR -', str(e))
|
|
"
|
|
else
|
|
echo "Qianwen: NO KEY"
|
|
fi
|
|
|
|
- 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: |
|
|
mkdir -p /data/guanghulab/.runtime
|
|
echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'",' > /data/guanghulab/.runtime/secrets-result.json
|
|
for key in DEEPSEEK_API_KEY QIANWEN_API_KEY ZY_REPO_TOKEN COS_SECRET_ID COS_SECRET_KEY SG_BRAIN_HOST SG_BRAIN_USER SG_BRAIN_KEY; do
|
|
eval val=\$$key
|
|
if [ -z "$val" ]; then
|
|
echo "\"$key\":\"EMPTY\"," >> /data/guanghulab/.runtime/secrets-result.json
|
|
else
|
|
echo "\"$key\":\"OK_LEN_'${#val}'\"," >> /data/guanghulab/.runtime/secrets-result.json
|
|
fi
|
|
done
|
|
echo '"done":true}' >> /data/guanghulab/.runtime/secrets-result.json
|
|
cat /data/guanghulab/.runtime/secrets-result.json
|