ci: resolve major node fallback versions · openclaw/openclaw@e37ac22
steipete
·
2026-05-26
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -71,26 +71,24 @@ openclaw_find_toolcache_node() {
|
71 | 71 | |
72 | 72 | openclaw_resolve_node_download_version() { |
73 | 73 | local requested_node="$1" |
74 | | -case "$requested_node" in |
75 | | -*x | *X) |
76 | | -local major="${requested_node%%.*}" |
77 | | - curl -fsSL https://nodejs.org/dist/index.json | |
78 | | - OPENCLAW_NODE_MAJOR="$major" python3 -c 'import json, os, sys |
79 | | -major = int(os.environ["OPENCLAW_NODE_MAJOR"]) |
| 74 | +if [[ "$requested_node" =~ ^v?[0-9]+\.[0-9]+\.[0-9]+$ ]]; then |
| 75 | + [[ "$requested_node" == v* ]] && printf '%s\n' "$requested_node" || printf 'v%s\n' "$requested_node" |
| 76 | +return 0 |
| 77 | +fi |
| 78 | + |
| 79 | +local prefix="${requested_node#v}" |
| 80 | + prefix="${prefix%%[xX]*}" |
| 81 | + prefix="v${prefix}" |
| 82 | + [[ "$prefix" == *. ]] || prefix="${prefix}." |
| 83 | + curl -fsSL https://nodejs.org/dist/index.json | |
| 84 | + OPENCLAW_NODE_PREFIX="$prefix" python3 -c 'import json, os, sys |
| 85 | +prefix = os.environ["OPENCLAW_NODE_PREFIX"] |
80 | 86 | for item in json.load(sys.stdin): |
81 | 87 | version = item.get("version", "") |
82 | | - if version.startswith(f"v{major}."): |
| 88 | + if version.startswith(prefix): |
83 | 89 | print(version) |
84 | 90 | break |
85 | | -' OPENCLAW_NODE_MAJOR="$major" |
86 | | - ;; |
87 | | - v*) |
88 | | -printf '%s\n' "$requested_node" |
89 | | - ;; |
90 | | -*) |
91 | | -printf 'v%s\n' "$requested_node" |
92 | | - ;; |
93 | | -esac |
| 91 | +' |
94 | 92 | } |
95 | 93 | |
96 | 94 | openclaw_node_download_platform() { |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。