-
Notifications
You must be signed in to change notification settings - Fork 213
/
Copy pathversions.sh
73 lines (63 loc) · 2.75 KB
/
versions.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
test_file=$(playground state get run.test_file)
if [ ! -f $test_file ]
then
logerror "File $test_file retrieved from $root_folder/playground.ini does not exist!"
exit 1
fi
# determining the docker-compose file from from test_file
docker_compose_file=$(grep "start-environment" "$test_file" | awk '{print $6}' | cut -d "/" -f 2 | cut -d '"' -f 1 | tail -n1 | xargs)
test_file_directory="$(dirname "${test_file}")"
docker_compose_file="${test_file_directory}/${docker_compose_file}"
if [ "${docker_compose_file}" != "" ] && [ ! -f "${docker_compose_file}" ]
then
logwarn "Skipping as docker-compose override file could not be detemined"
exit 0
fi
connector_paths=$(grep "CONNECT_PLUGIN_PATH" "${docker_compose_file}" | grep -v "KSQL_CONNECT_PLUGIN_PATH" | cut -d ":" -f 2 | tr -s " " | head -1)
if [ "$connector_paths" == "" ]
then
logwarn "Skipping as it is not an example with connector"
exit 0
else
current_tag=$(docker inspect -f '{{.Config.Image}}' broker 2> /dev/null | cut -d ":" -f 2)
log "🎯 Version currently used for confluent platform"
echo "$current_tag"
for connector_path in ${connector_paths//,/ }
do
full_connector_name=$(basename "$connector_path")
owner=$(echo "$full_connector_name" | cut -d'-' -f1)
name=$(echo "$full_connector_name" | cut -d'-' -f2-)
if [ "$owner" == "java" ] || [ "$name" == "hub-components" ] || [ "$owner" == "filestream" ]
then
# happens when plugin is not coming from confluent hub
logwarn "skipping as plugin $owner/$name does not appear to be coming from confluent hub"
continue
fi
playground connector-plugin versions --connector-plugin $owner/$name --last 10
# latest
latest=$(playground connector-plugin versions --connector-plugin $owner/$name --last 1)
latest_to_compare=$(echo "$latest" | sed 's/ ([0-9]* days ago)//')
## current version
manifest_file="$root_folder/confluent-hub/$full_connector_name/manifest.json"
if [ -f $manifest_file ]
then
version=$(cat $manifest_file | jq -r '.version')
release_date=$(cat $manifest_file | jq -r '.release_date')
else
logwarn "file $manifest_file does not exist, could not retrieve version"
exit 0
fi
current="🔢 v$version - 📅 release date: $release_date"
if [ "$current" == "$latest_to_compare" ]
then
log "👻 Version currently used for $owner/$name is latest"
echo "$current"
else
log "🗯️ Version currently used for $owner/$name is not latest"
log "Current"
echo "$current"
log "Latest on Hub"
echo "$latest"
fi
done
fi