Skip to content

Commit 16ad57e

Browse files
committed
fix(updatecli): fix compose script outputting wrong version on no-op
The docker-compose-version guard echoed $docker_compose_version (from docker-versions.txt) instead of the README value when current >= new, making the downgrade prevention a no-op. Also add head -n1 to grep in both scripts to handle README files with multiple version mentions.
1 parent 213de9d commit 16ad57e

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

updatecli/scripts/docker-compose-version.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ file_content=$(cat docker-versions.txt)
88
docker_compose_version=$(echo "$file_content" | grep -- "- Docker Compose version" | cut -d ' ' -f 5)
99

1010
# Get the current version from README.md (strip leading 'v' if present for comparison)
11-
current_version=$(grep -oP 'Docker Compose version `\K[^`]+' README.md)
11+
current_version=$(grep -oP 'Docker Compose version `\K[^`]+' README.md | head -n1)
1212

1313
# Strip leading 'v' for comparison (updatecli trimprefix transformer handles the output)
1414
new_clean=$(echo "$docker_compose_version" | sed 's/^v//')
@@ -19,7 +19,7 @@ if [ -n "$current_clean" ] && [ -n "$new_clean" ]; then
1919
newer=$(printf '%s\n%s' "$new_clean" "$current_clean" | sort -V | tail -n1)
2020
if [ "$newer" = "$current_clean" ] || [ "$new_clean" = "$current_clean" ]; then
2121
# Current version is same or newer, output it unchanged to avoid a downgrade
22-
echo "$docker_compose_version"
22+
echo "v${current_clean}"
2323
exit 0
2424
fi
2525
fi

updatecli/scripts/docker-version.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ docker_version=$(echo "$file_content" | grep -- "- Docker version" | cut -d ' '
1111
docker_version=$(echo "$docker_version" | cut -d ',' -f 1)
1212

1313
# Get the current version from README.md
14-
current_version=$(grep -oP 'Docker version `\K[^`]+' README.md)
14+
current_version=$(grep -oP 'Docker version `\K[^`]+' README.md | head -n1)
1515

1616
# Compare versions: only output the new version if it's strictly newer
1717
if [ -n "$current_version" ] && [ -n "$docker_version" ]; then

0 commit comments

Comments
 (0)