guanghulab/.gitea/workflows/final-secrets-test.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