1
1
#! /bin/bash -e
2
+ #
3
+ # cSpell:ignore opentelemetrybot
2
4
3
5
GH=gh
4
6
GIT=git
18
20
fi
19
21
20
22
repo=$1 ; shift ;
21
- latest_version=$( gh api -q .tag_name " repos/open-telemetry/$repo /releases/latest" )
22
- latest_vers_no_v=" ${latest_version# v} " # Remove leading 'v'
23
+
24
+ # `latest_version_full` is expected to end with a "vX.Y.Z". Note that it can
25
+ # have a prefix, such as `cmd/builder/v0.119.0`.
26
+ latest_version_full=$( gh api -q .tag_name " repos/open-telemetry/$repo /releases/latest" )
27
+
28
+ # Extract only the semver:
29
+ latest_semver=$( echo " $latest_version_full " | sed -E ' s/.*v([0-9]+\.[0-9]+\.[0-9]+.*)$/\1/' )
30
+ latest_version=" v$latest_semver "
23
31
24
32
echo " REPO: $repo "
25
- echo " LATEST VERSION: $latest_version "
33
+ echo " LATEST VERSION: $latest_semver ( $latest_version_full ) "
26
34
27
35
function process_file() {
28
36
local name=" $1 "
@@ -39,7 +47,7 @@ function process_file() {
39
47
vers=" $latest_version "
40
48
else
41
49
vers_match_regex=" ^ *$variable_name :"
42
- vers=" $latest_vers_no_v "
50
+ vers=" $latest_semver "
43
51
fi
44
52
echo " SEARCHING for: '$vers_match_regex ' in $file_name "
45
53
if ! grep -q " $vers_match_regex " " $file_name " ; then
@@ -68,19 +76,21 @@ if git diff --quiet "${file_names[@]}"; then
68
76
else
69
77
echo
70
78
echo " Version update necessary:"
71
- git diff " ${file_names[@]} "
79
+ git diff --color " ${file_names[@]} " | cat - # to disable pager
72
80
echo
73
81
fi
74
82
75
83
message=" Update $repo version to $latest_version "
76
84
body=" Update $repo version to \` $latest_version \` .
77
85
78
86
See https://github.com/open-telemetry/$repo /releases/tag/$latest_version ."
87
+ branch=" opentelemetrybot/auto-update-$repo -$latest_version "
79
88
80
- existing_pr_count=$( gh pr list --state all --search " in:title $message " | wc -l)
89
+ existing_pr_all=$( gh pr list --state all --head " $branch " )
90
+ existing_pr_count=$( echo " $existing_pr_all " | wc -l)
81
91
if [ " $existing_pr_count " -gt 0 ]; then
82
- echo " PR(s) already exist for '$message '"
83
- gh pr list --state all --search " \" $message \" in:title "
92
+ echo " PR(s) already exist for '$message ': "
93
+ echo $existing_pr_all
84
94
echo " So we won't create another. Exiting."
85
95
exit 0
86
96
fi
@@ -97,8 +107,6 @@ if [[ "$repo" == "opentelemetry-specification"
97
107
)
98
108
fi
99
109
100
- branch=" opentelemetrybot/auto-update-$repo -$latest_version "
101
-
102
110
$GIT checkout -b " $branch "
103
111
$GIT commit -a -m " $message "
104
112
$GIT push --set-upstream origin " $branch "
0 commit comments