forked from MCERQUA/OpenVoiceUI
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbump-openclaw-version.sh
More file actions
executable file
·62 lines (51 loc) · 2.7 KB
/
Copy pathbump-openclaw-version.sh
File metadata and controls
executable file
·62 lines (51 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
# bump-openclaw-version.sh — Update the pinned openclaw version in all installer paths.
#
# Usage: bash bump-openclaw-version.sh 2026.3.31
#
# Updates all three install paths atomically so they never drift:
# 1. docker-compose.yml (Pinokio / Docker Compose default)
# 2. deploy/openclaw/Dockerfile (Docker native build default)
# 3. setup-sudo.sh (native Linux install)
set -e
NEW_VERSION="$1"
if [ -z "$NEW_VERSION" ]; then
echo "Usage: bash bump-openclaw-version.sh <version>"
echo "Example: bash bump-openclaw-version.sh 2026.3.31"
exit 1
fi
# Validate format: YYYY.M.D or YYYY.M.DD
if ! echo "$NEW_VERSION" | grep -qE '^[0-9]{4}\.[0-9]+\.[0-9]+$'; then
echo "Error: version must be in YYYY.M.D format (e.g. 2026.3.24)"
exit 1
fi
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
# Show current versions before changing
echo "Updating openclaw version to $NEW_VERSION ..."
echo ""
# 1. docker-compose.yml
OLD=$(grep "OPENCLAW_VERSION:-" docker-compose.yml | grep -o '[0-9]\{4\}\.[0-9]*\.[0-9]*' | head -1)
sed -i "s/OPENCLAW_VERSION:-[0-9]*\.[0-9]*\.[0-9]*/OPENCLAW_VERSION:-${NEW_VERSION}/" docker-compose.yml
echo " docker-compose.yml: $OLD -> $NEW_VERSION"
# 2. deploy/openclaw/Dockerfile
OLD=$(grep "OPENCLAW_VERSION=" deploy/openclaw/Dockerfile | grep -o '[0-9]\{4\}\.[0-9]*\.[0-9]*' | head -1)
sed -i "s/OPENCLAW_VERSION=[0-9]*\.[0-9]*\.[0-9]*/OPENCLAW_VERSION=${NEW_VERSION}/" deploy/openclaw/Dockerfile
echo " deploy/openclaw/Dockerfile: $OLD -> $NEW_VERSION"
# 3. setup-sudo.sh
OLD=$(grep "OPENCLAW_TESTED_VERSION=" setup-sudo.sh | grep -o '[0-9]\{4\}\.[0-9]*\.[0-9]*' | head -1)
sed -i "s/OPENCLAW_TESTED_VERSION=\"[0-9]*\.[0-9]*\.[0-9]*\"/OPENCLAW_TESTED_VERSION=\"${NEW_VERSION}\"/" setup-sudo.sh
echo " setup-sudo.sh: $OLD -> $NEW_VERSION"
# 4. services/gateways/compat.py — Python protocol-compat layer holds its own pin
# that consumers (server.py, gateway connector) read on every startup. Was missed
# by this script for months and drifted to 2026.3.13.
OLD=$(grep 'OPENCLAW_TESTED_VERSION = ' services/gateways/compat.py | grep -o '[0-9]\{4\}\.[0-9]*\.[0-9]*' | head -1)
sed -i "s/OPENCLAW_TESTED_VERSION = \"[0-9]*\.[0-9]*\.[0-9]*\"/OPENCLAW_TESTED_VERSION = \"${NEW_VERSION}\"/" services/gateways/compat.py
echo " services/gateways/compat.py: $OLD -> $NEW_VERSION"
echo ""
echo "All 4 installer paths updated. Verify with:"
echo " grep -r '$NEW_VERSION' docker-compose.yml deploy/openclaw/Dockerfile setup-sudo.sh services/gateways/compat.py"
echo ""
echo "Then commit:"
echo " git add docker-compose.yml deploy/openclaw/Dockerfile setup-sudo.sh services/gateways/compat.py"
echo " git commit -m \"chore: bump openclaw to $NEW_VERSION\""