diff --git a/metadata.json b/metadata.json new file mode 100644 index 000000000..5a02fd667 --- /dev/null +++ b/metadata.json @@ -0,0 +1,8 @@ +{ + "release":{ + "tags":{ + "mainnet":"minaprotocol/mina-daemon:3.0.3-d800da8-bullseye-mainnet", + "devnet":"gcr.io/o1labs-192920/mina-daemon:3.0.1-alpha1-0473756-bullseye-devnet" + } + } +} diff --git a/scripts/update_release_tag.sh b/scripts/update_release_tag.sh new file mode 100755 index 000000000..080cf1273 --- /dev/null +++ b/scripts/update_release_tag.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +SCRIPT_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" + +cd $SCRIPT_DIR/.. + +if [[ "$1" == "-h" || "$1" == "--help" || $# -ne 2 ]]; then + cat << EOF +Usage: ${0##*/} [-h|--help] + +This script take new_mainnet_tag and new_devnet_tag, scan through the whole repo +and replace old tags them with provided new tags. + + -h|--help display this help and exit +EOF + exit 0 +fi + +NEW_MAINNET_TAG="$1" +NEW_DEVNET_TAG="$2" + +# Unified function: handles reading, logging, and replacing +process_tag() { + local json_key="$1" + local new_value="$2" + + local old_value + old_value=$(jq -r "$json_key" ./metadata.json) + + if [ -z "$old_value" ]; then + echo "Failed to read $json_key from metadata.json" + exit 1 + fi + + echo " $json_key: $old_value → $new_value" + + escaped_old_value=$(printf '%s\n' "$old_value" | sed 's/[\/&]/\\&/g') + escaped_new_value=$(printf '%s\n' "$new_value" | sed 's/[\/&]/\\&/g') + + grep -rl --exclude-dir=.git "$old_value" . | while read -r file; do + sed -i "s/$escaped_old_value/$escaped_new_value/g" "$file" + done +} + +echo "Replacing release tags:" +process_tag '.release.tags.mainnet' "$NEW_MAINNET_TAG" +process_tag '.release.tags.devnet' "$NEW_DEVNET_TAG" + +echo "Replacement complete."