fix:修复Actions创建 Queue”
This commit is contained in:
1 parent
d205289f9f
commit
38945d5c34
2 files changed
+85
-8
No files matched your search
@@ -267,14 +267,51 @@ jobs:
|
||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
run: |
|
||||
echo "检查并创建 Queue..."
|
||||
QUEUE_LIST=$(bunx wrangler queues list --json --config apps/worker/wrangler.toml 2>/dev/null || echo "[]")
|
||||
EXISTING_QUEUE=$(echo "$QUEUE_LIST" | jq -r '.[] | select(.name=="usage-events") | .name')
|
||||
QUEUE_LIST_RAW=$(bunx wrangler queues list --json --config apps/worker/wrangler.toml 2>/dev/null || echo "[]")
|
||||
QUEUE_EXISTS=$(QUEUE_LIST_RAW="$QUEUE_LIST_RAW" node - <<'NODE'
|
||||
const raw = process.env.QUEUE_LIST_RAW || "";
|
||||
const target = "usage-events";
|
||||
const first = raw.search(/[\[{]/);
|
||||
let jsonText = raw;
|
||||
if (first >= 0) {
|
||||
jsonText = raw.slice(first);
|
||||
}
|
||||
let list = null;
|
||||
try {
|
||||
list = JSON.parse(jsonText);
|
||||
} catch {
|
||||
const last = raw.lastIndexOf("]");
|
||||
if (first >= 0 && last > first) {
|
||||
try {
|
||||
list = JSON.parse(raw.slice(first, last + 1));
|
||||
} catch {}
|
||||
}
|
||||
}
|
||||
if (!Array.isArray(list)) {
|
||||
console.log("unknown");
|
||||
process.exit(0);
|
||||
}
|
||||
const exists = list.some((item) => item && item.name === target);
|
||||
console.log(exists ? "true" : "false");
|
||||
NODE
|
||||
)
|
||||
|
||||
if [ -n "$EXISTING_QUEUE" ]; then
|
||||
if [ "$QUEUE_EXISTS" = "true" ]; then
|
||||
echo "✅ Queue 已存在: usage-events"
|
||||
else
|
||||
echo "创建 Queue: usage-events"
|
||||
bunx wrangler queues create usage-events --config apps/worker/wrangler.toml
|
||||
CREATE_OUTPUT=$(bunx wrangler queues create usage-events --config apps/worker/wrangler.toml 2>&1)
|
||||
CREATE_STATUS=$?
|
||||
if [ $CREATE_STATUS -eq 0 ]; then
|
||||
echo "✅ Queue 已创建: usage-events"
|
||||
else
|
||||
if echo "$CREATE_OUTPUT" | grep -qi "already exists"; then
|
||||
echo "✅ Queue 已存在: usage-events"
|
||||
else
|
||||
echo "$CREATE_OUTPUT"
|
||||
exit $CREATE_STATUS
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Create D1 database (init only)
|
||||
@@ -383,14 +420,51 @@ jobs:
|
||||
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||
run: |
|
||||
echo "检查并创建 Queue..."
|
||||
QUEUE_LIST=$(bunx wrangler queues list --json --config apps/worker/wrangler.toml 2>/dev/null || echo "[]")
|
||||
EXISTING_QUEUE=$(echo "$QUEUE_LIST" | jq -r '.[] | select(.name=="usage-events") | .name')
|
||||
QUEUE_LIST_RAW=$(bunx wrangler queues list --json --config apps/worker/wrangler.toml 2>/dev/null || echo "[]")
|
||||
QUEUE_EXISTS=$(QUEUE_LIST_RAW="$QUEUE_LIST_RAW" node - <<'NODE'
|
||||
const raw = process.env.QUEUE_LIST_RAW || "";
|
||||
const target = "usage-events";
|
||||
const first = raw.search(/[\[{]/);
|
||||
let jsonText = raw;
|
||||
if (first >= 0) {
|
||||
jsonText = raw.slice(first);
|
||||
}
|
||||
let list = null;
|
||||
try {
|
||||
list = JSON.parse(jsonText);
|
||||
} catch {
|
||||
const last = raw.lastIndexOf("]");
|
||||
if (first >= 0 && last > first) {
|
||||
try {
|
||||
list = JSON.parse(raw.slice(first, last + 1));
|
||||
} catch {}
|
||||
}
|
||||
}
|
||||
if (!Array.isArray(list)) {
|
||||
console.log("unknown");
|
||||
process.exit(0);
|
||||
}
|
||||
const exists = list.some((item) => item && item.name === target);
|
||||
console.log(exists ? "true" : "false");
|
||||
NODE
|
||||
)
|
||||
|
||||
if [ -n "$EXISTING_QUEUE" ]; then
|
||||
if [ "$QUEUE_EXISTS" = "true" ]; then
|
||||
echo "✅ Queue 已存在: usage-events"
|
||||
else
|
||||
echo "创建 Queue: usage-events"
|
||||
bunx wrangler queues create usage-events --config apps/worker/wrangler.toml
|
||||
CREATE_OUTPUT=$(bunx wrangler queues create usage-events --config apps/worker/wrangler.toml 2>&1)
|
||||
CREATE_STATUS=$?
|
||||
if [ $CREATE_STATUS -eq 0 ]; then
|
||||
echo "✅ Queue 已创建: usage-events"
|
||||
else
|
||||
if echo "$CREATE_OUTPUT" | grep -qi "already exists"; then
|
||||
echo "✅ Queue 已存在: usage-events"
|
||||
else
|
||||
echo "$CREATE_OUTPUT"
|
||||
exit $CREATE_STATUS
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Create or verify D1 Database
|
||||
|
||||
@@ -190,6 +190,9 @@
|
||||
|
||||
### 修复
|
||||
|
||||
- **[deploy-workflow]**: 队列检查改为 Node 解析并容错非 JSON 输出 — by lsy
|
||||
- 方案: [202603162220_deploy-queue-json-parse](archive/2026-03/202603162220_deploy-queue-json-parse/)
|
||||
- 决策: deploy-queue-json-parse#D001(队列列表解析方式选择)
|
||||
- **[admin-ui]**: Toast 通知固定右上并带进度条,弹窗改为全屏遮罩,筛选标题横排 — by lsy
|
||||
- 方案: [202603160049_modal-toast-search-fixes](archive/2026-03/202603160049_modal-toast-search-fixes/)
|
||||
- 决策: modal-toast-search-fixes#D001(通知统一为右上 Toast)
|
||||
|
||||
Reference in new issue
Block a user