@@ -16,7 +16,7 @@ kubeconform = "latest"
1616"ubi:telepresenceio/telepresence" = " latest"
1717
1818# Misc
19- yq = " latest"
19+ dasel = " latest"
2020fd = " latest"
2121"ubi:google/addlicense" = " latest"
2222
@@ -99,12 +99,12 @@ run = """
9999#!/bin/bash
100100set -e -o pipefail
101101
102- helm_version=$(yq -r .version helm/Chart.yaml)
103- helm_app_version=$(yq -r .appVersion helm/Chart.yaml)
104- beeai_cli_version=$(yq -r .project.version apps/beeai-cli/pyproject.toml)
105- beeai_server_version=$(yq -r .project.version apps/beeai-server/pyproject.toml)
106- beeai_ui_version=$(yq -r .version apps/beeai-ui/package.json)
107- beeai_web_version=$(yq -r .version apps/beeai-web/package.json)
102+ helm_version=$(dasel -w plain -f helm/Chart.yaml '.version' )
103+ helm_app_version=$(dasel -w plain -f helm/Chart.yaml '.appVersion' )
104+ beeai_cli_version=$(dasel -w plain -f apps/beeai-cli/pyproject.toml '.project.version' )
105+ beeai_server_version=$(dasel -w plain -f apps/beeai-server/pyproject.toml '.project.version' )
106+ beeai_ui_version=$(dasel -w plain -f apps/beeai-ui/package.json '.version' )
107+ beeai_web_version=$(dasel -w plain -f apps/beeai-web/package.json '.version' )
108108
109109if [ "$helm_version" != "$helm_app_version" ] || \
110110 [ "$helm_version" != "$beeai_cli_version" ] || \
@@ -147,15 +147,26 @@ if [[ -n "$(git status --porcelain)" ]]; then
147147 exit 1
148148fi
149149
150- # Prompt for version bump
151- read -p "Bump from $(yq -r .version helm/Chart.yaml) to: " new_version
150+ # Prompt for version bump with validation
151+ current_version=$(dasel -f helm/Chart.yaml -r yaml -s '.version')
152+ while true; do
153+ read -p "Bump from ${current_version} to: " new_version
154+ if [[ "$new_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-rc[0-9]+)?$ ]]; then
155+ break
156+ else
157+ echo "ERROR: Invalid version format. Use #.#.# or #.#.#-rc#"
158+ fi
159+ done
152160
153161# Update all version fields
154- yq -i ".version = \"$new_version\" | .appVersion = \"$new_version\"" helm/Chart.yaml
155- perl -pi -e "s/^(version\\s*=\\s*\")[^\"]*(\")/\${1}$new_version\${2}/" apps/beeai-cli/pyproject.toml
156- perl -pi -e "s/^(version\\s*=\\s*\")[^\"]*(\")/\${1}$new_version\${2}/" apps/beeai-server/pyproject.toml
157- yq -i ".version = \"$new_version\"" apps/beeai-ui/package.json
158- yq -i ".version = \"$new_version\"" apps/beeai-web/package.json
162+ dasel put -f helm/Chart.yaml -r yaml -t string -v "$new_version" '.version'
163+ dasel put -f helm/Chart.yaml -r yaml -t string -v "$new_version" '.appVersion'
164+ dasel put -f apps/beeai-cli/pyproject.toml -r toml -t string -v "$new_version" '.project.version'
165+ dasel put -f apps/beeai-server/pyproject.toml -r toml -t string -v "$new_version" '.project.version'
166+ dasel put -f apps/beeai-ui/package.json -r json -t string -v "$new_version" '.version'
167+ dasel put -f apps/beeai-web/package.json -r json -t string -v "$new_version" '.version'
168+
169+ # Update lockfile with new version
159170uv lock
160171
161172# Confirm commit and push (default: yes)
0 commit comments