22
33# Examples:
44
5- # Update all dependencies to version vX.Y.Z
6- # ./hack/release_mod.sh deps vX.Y.Z
7-
8- # Add tags to all modules with version vX.Y.Z
5+ # Add tags to all submodules with version vX.Y.Z
96# ./hack/release_mod.sh tags v0.1.0
107
118set -euo pipefail
@@ -23,37 +20,6 @@ go mod tidy
2320
2421dirs=$( find . -name " go.mod" -not -path " ./docs/*" -exec dirname {} \; )
2522
26- function deps() {
27- log_info " Updating dependencies to version ${version} "
28- log_info " "
29-
30- for dir in ${dirs} ; do
31- (
32- log_info " Processing ${dir} "
33-
34- cd " ${dir} "
35-
36- go mod tidy
37-
38- modules=$( go list -f ' {{if not .Main}}{{if not .Indirect}}{{.Path}}{{end}}{{end}}' -m all)
39- deps=$( echo " ${modules} " | grep -E " ${ROOT_MODULE} /.*" || true)
40-
41- for dep in ${deps} ; do
42- go mod edit -require " ${dep} @${version} "
43- done
44-
45- go mod tidy
46-
47- cd " ${ROOT_DIR} "
48-
49- log_succ " Processed ${dir} "
50- )
51- done
52-
53- log_succ " "
54- log_succ " Dependencies updated, and commit them manually"
55- }
56-
5723function tags(){
5824 log_info " Adding tags to all modules with version ${version} "
5925 log_info " "
@@ -68,15 +34,19 @@ function tags(){
6834 prefix=" ${prefix} /"
6935 fi
7036
71- tag=" ${prefix}${version} "
72- git tag " ${tag} "
37+ # if prefix is empty, it means it's just the root module, do not handle it
38+ if [ -n " ${prefix} " ]; then
39+ tag=" ${prefix}${version} "
40+ git tag " ${tag} "
7341
74- log_succ " Tag ${tag} "
42+ log_succ " Tag ${tag} "
43+ fi
7544 )
7645 done
7746
7847 log_succ " "
7948 log_succ " Tags added, and push them manually"
49+ log_succ " Then tag main module with ${version} , and push it to trigger the release"
8050}
8151
8252# run the function
0 commit comments