Skip to content

Commit d30ea93

Browse files
committed
Add scripts handling updating tags automatically
1 parent e62fca7 commit d30ea93

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

metadata.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"release":{
3+
"tags":{
4+
"mainnet":"minaprotocol/mina-daemon:3.0.3-d800da8-bullseye-mainnet",
5+
"devnet":"gcr.io/o1labs-192920/mina-daemon:3.0.1-alpha1-0473756-bullseye-devnet"
6+
}
7+
}
8+
}

scripts/update_release_tag.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
3+
if [ $# -ne 2 ]; then
4+
echo "Usage: $0 <new_mainnet_tag> <new_devnet_tag>"
5+
exit 1
6+
fi
7+
8+
NEW_MAINNET_TAG="$1"
9+
NEW_DEVNET_TAG="$2"
10+
11+
# Unified function: handles reading, logging, and replacing
12+
process_tag() {
13+
local json_key="$1"
14+
local new_value="$2"
15+
16+
local old_value
17+
old_value=$(jq -r "$json_key" ./metadata.json)
18+
19+
if [ -z "$old_value" ]; then
20+
echo "Failed to read $json_key from metadata.json"
21+
exit 1
22+
fi
23+
24+
echo " $json_key: $old_value$new_value"
25+
26+
escaped_old_value=$(printf '%s\n' "$old_value" | sed 's/[\/&]/\\&/g')
27+
escaped_new_value=$(printf '%s\n' "$new_value" | sed 's/[\/&]/\\&/g')
28+
29+
grep -rl --exclude-dir=.git "$old_value" . | while read -r file; do
30+
sed -i "s/$escaped_old_value/$escaped_new_value/g" "$file"
31+
done
32+
}
33+
34+
echo "Replacing release tags:"
35+
process_tag '.release.tags.mainnet' "$NEW_MAINNET_TAG"
36+
process_tag '.release.tags.devnet' "$NEW_DEVNET_TAG"
37+
38+
echo "Replacement complete."

0 commit comments

Comments
 (0)