@@ -69,38 +69,43 @@ jobs:
6969 [ "$(printf '%s\n%s' "$1" "$2" | sort -V | tail -n1)" = "$1" ] && [ "$1" != "$2" ]
7070 }
7171
72- # Extract current versions from docker-versions.txt
73- CURRENT_DOCKER =$(grep "Docker version" docker-versions.txt | cut -d ' ' -f 4 | cut -d ',' -f 1 )
74- CURRENT_COMPOSE =$(grep "Docker Compose version" docker-versions.txt | cut -d ' ' -f 5 | tr -d 'v' )
72+ # Save current lines from docker-versions.txt
73+ CURRENT_DOCKER_LINE =$(grep "Docker version" docker-versions.txt)
74+ CURRENT_COMPOSE_LINE =$(grep "Docker Compose version" docker-versions.txt)
7575
76- # Get runner versions
77- RUNNER_DOCKER=$(docker --version | cut -d ' ' -f 3 | cut -d ',' -f 1)
78- RUNNER_COMPOSE=$(docker compose version | cut -d ' ' -f 4 | tr -d 'v')
76+ # Extract semver from current file
77+ CURRENT_DOCKER=$(echo "$CURRENT_DOCKER_LINE" | cut -d ' ' -f 4 | cut -d ',' -f 1)
78+ CURRENT_COMPOSE=$(echo "$CURRENT_COMPOSE_LINE" | cut -d ' ' -f 5 | tr -d 'v')
79+
80+ # Get runner versions (full output and semver)
81+ RUNNER_DOCKER_FULL="$(docker --version)"
82+ RUNNER_COMPOSE_FULL="$(docker compose version)"
83+ RUNNER_DOCKER=$(echo "$RUNNER_DOCKER_FULL" | cut -d ' ' -f 3 | cut -d ',' -f 1)
84+ RUNNER_COMPOSE=$(echo "$RUNNER_COMPOSE_FULL" | cut -d ' ' -f 4 | tr -d 'v')
7985
8086 echo "Current: Docker $CURRENT_DOCKER, Compose $CURRENT_COMPOSE"
8187 echo "Runner: Docker $RUNNER_DOCKER, Compose $RUNNER_COMPOSE"
8288
83- # Only update if runner version is strictly newer
84- DOCKER_VERSION="${CURRENT_DOCKER}"
85- COMPOSE_VERSION="${CURRENT_COMPOSE}"
86-
89+ # Only update if runner version is strictly newer, otherwise keep existing line
8790 if version_gt "$RUNNER_DOCKER" "$CURRENT_DOCKER"; then
8891 echo "Docker version $RUNNER_DOCKER is newer than $CURRENT_DOCKER, updating"
89- DOCKER_VERSION="$RUNNER_DOCKER "
92+ DOCKER_LINE="- $RUNNER_DOCKER_FULL "
9093 else
9194 echo "Docker version $RUNNER_DOCKER is not newer than $CURRENT_DOCKER, keeping current"
95+ DOCKER_LINE="$CURRENT_DOCKER_LINE"
9296 fi
9397
9498 if version_gt "$RUNNER_COMPOSE" "$CURRENT_COMPOSE"; then
9599 echo "Docker Compose version $RUNNER_COMPOSE is newer than $CURRENT_COMPOSE, updating"
96- COMPOSE_VERSION="$RUNNER_COMPOSE "
100+ COMPOSE_LINE="- $RUNNER_COMPOSE_FULL "
97101 else
98102 echo "Docker Compose version $RUNNER_COMPOSE is not newer than $CURRENT_COMPOSE, keeping current"
103+ COMPOSE_LINE="$CURRENT_COMPOSE_LINE"
99104 fi
100105
101106 # Write versions to file
102- echo "- Docker version ${DOCKER_VERSION}, build unknown " > docker-versions.txt
103- echo "- Docker Compose version v${COMPOSE_VERSION} " >> docker-versions.txt
107+ echo "$DOCKER_LINE " > docker-versions.txt
108+ echo "$COMPOSE_LINE " >> docker-versions.txt
104109
105110 # Only add the specific file we want
106111 git add docker-versions.txt
0 commit comments