From 45441ba996302a999665c5c915ed7113eedad7eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=93=B8=E6=B8=8A=20=28ICE-GL-ZY001=29?= Date: Tue, 12 May 2026 09:42:13 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=91=20Secrets=E9=AA=8C=E8=AF=81workflo?= =?UTF-8?q?w=C2=B7=E7=BB=93=E6=9E=9C=E5=86=99=E5=85=A5=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .forgejo/workflows/verify-secrets.yaml | 73 ++++++++++++++++++++++++++ .gitea/workflows/verify-secrets.yaml | 73 ++++++++++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 .forgejo/workflows/verify-secrets.yaml create mode 100644 .gitea/workflows/verify-secrets.yaml diff --git a/.forgejo/workflows/verify-secrets.yaml b/.forgejo/workflows/verify-secrets.yaml new file mode 100644 index 0000000..34179da --- /dev/null +++ b/.forgejo/workflows/verify-secrets.yaml @@ -0,0 +1,73 @@ +# 光湖 · Secrets验证+结果写入仓库 +name: Secrets验证 + +on: + push: + paths: + - '.gitea/workflows/verify-secrets.yaml' + +jobs: + verify: + 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: | + RESULT_FILE="/data/guanghulab/.runtime/secrets-verify-result.json" + mkdir -p /data/guanghulab/.runtime + + echo "{" > $RESULT_FILE + echo " \"timestamp\": \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"," >> $RESULT_FILE + + # 逐个检查 + 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\"," >> $RESULT_FILE + else + echo " \"$key\": \"OK_LEN_${#val}\"," >> $RESULT_FILE + fi + done + + echo " \"deepseek_test\": \"NOT_TESTED\"" >> $RESULT_FILE + echo "}" >> $RESULT_FILE + + # 测试DeepSeek API + if [ -n "$DEEPSEEK_API_KEY" ]; then + 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":"1+1=?"}],"max_tokens":10}' \ + --connect-timeout 10 2>/dev/null) + if echo "$RESP" | grep -q '"choices"'; then + sed -i 's/"deepseek_test": "NOT_TESTED"/"deepseek_test": "SUCCESS"/' $RESULT_FILE + else + sed -i 's/"deepseek_test": "NOT_TESTED"/"deepseek_test": "FAILED"/' $RESULT_FILE + fi + else + sed -i 's/"deepseek_test": "NOT_TESTED"/"deepseek_test": "NO_KEY"/' $RESULT_FILE + fi + + # 测试通义千问API + if [ -n "$QIANWEN_API_KEY" ]; then + 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":"1+1=?"}],"max_tokens":10}' \ + --connect-timeout 10 2>/dev/null) + if echo "$RESP" | grep -q '"choices"'; then + echo " \"qianwen_test\": \"SUCCESS\"" >> /tmp/qwen_test + else + echo " \"qianwen_test\": \"FAILED\"" >> /tmp/qwen_test + fi + fi + + cat $RESULT_FILE diff --git a/.gitea/workflows/verify-secrets.yaml b/.gitea/workflows/verify-secrets.yaml new file mode 100644 index 0000000..34179da --- /dev/null +++ b/.gitea/workflows/verify-secrets.yaml @@ -0,0 +1,73 @@ +# 光湖 · Secrets验证+结果写入仓库 +name: Secrets验证 + +on: + push: + paths: + - '.gitea/workflows/verify-secrets.yaml' + +jobs: + verify: + 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: | + RESULT_FILE="/data/guanghulab/.runtime/secrets-verify-result.json" + mkdir -p /data/guanghulab/.runtime + + echo "{" > $RESULT_FILE + echo " \"timestamp\": \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"," >> $RESULT_FILE + + # 逐个检查 + 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\"," >> $RESULT_FILE + else + echo " \"$key\": \"OK_LEN_${#val}\"," >> $RESULT_FILE + fi + done + + echo " \"deepseek_test\": \"NOT_TESTED\"" >> $RESULT_FILE + echo "}" >> $RESULT_FILE + + # 测试DeepSeek API + if [ -n "$DEEPSEEK_API_KEY" ]; then + 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":"1+1=?"}],"max_tokens":10}' \ + --connect-timeout 10 2>/dev/null) + if echo "$RESP" | grep -q '"choices"'; then + sed -i 's/"deepseek_test": "NOT_TESTED"/"deepseek_test": "SUCCESS"/' $RESULT_FILE + else + sed -i 's/"deepseek_test": "NOT_TESTED"/"deepseek_test": "FAILED"/' $RESULT_FILE + fi + else + sed -i 's/"deepseek_test": "NOT_TESTED"/"deepseek_test": "NO_KEY"/' $RESULT_FILE + fi + + # 测试通义千问API + if [ -n "$QIANWEN_API_KEY" ]; then + 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":"1+1=?"}],"max_tokens":10}' \ + --connect-timeout 10 2>/dev/null) + if echo "$RESP" | grep -q '"choices"'; then + echo " \"qianwen_test\": \"SUCCESS\"" >> /tmp/qwen_test + else + echo " \"qianwen_test\": \"FAILED\"" >> /tmp/qwen_test + fi + fi + + cat $RESULT_FILE