1616 knSrvPrefix = "knative_serving_version="
1717 knEvtPrefix = "knative_eventing_version="
1818 knCtrPrefix = "contour_version="
19+
20+ file = "hack/component-versions.sh"
1921)
2022
23+ // if running on branch "release-*" return the current branch version
24+ // (for possible fixups) otherwise, return latest as standard
25+ // func getLatestOrReleaseVersion() (v string, err error) {
26+ // cmd := exec.Command("git", "rev-parse", "--abbrev-ref", "HEAD")
27+ // o, err := cmd.Output()
28+ // if err != nil {
29+ // return "", fmt.Errorf("error running git rev-parse: %v", err)
30+ // }
31+ // fmt.Printf("out: %s\n", string(o))
32+ // return string(o), nil
33+ // }
34+
2135// get latest version of owner/repo via GH API
2236func getLatestVersion (ctx context.Context , client * github.Client , owner string , repo string ) (v string , err error ) {
2337 fmt .Printf ("get latest repo %s/%s\n " , owner , repo )
@@ -45,15 +59,13 @@ func getVersionsFromFile() (srv string, evt string, ctr string, err error) {
4559 evt = "" //eventing
4660 ctr = "" //net-contour (knative-extensions)
4761
48- var f = "hack/allocate.sh"
49-
50- file , err := os .OpenFile (f , os .O_RDWR , 0600 )
62+ f , err := os .OpenFile (file , os .O_RDWR , 0600 )
5163 if err != nil {
52- err = fmt .Errorf ("cant open file '%s': %v" , f , err )
64+ err = fmt .Errorf ("cant open file '%s': %v" , file , err )
5365 }
54- defer file .Close ()
66+ defer f .Close ()
5567 // read file line by line
56- fs := bufio .NewScanner (file )
68+ fs := bufio .NewScanner (f )
5769 fs .Split (bufio .ScanLines )
5870 for fs .Scan () {
5971 // Look for a prefix in a trimmed line.
@@ -83,10 +95,10 @@ func getVersionsFromFile() (srv string, evt string, ctr string, err error) {
8395 return
8496}
8597
86- // Update version in file if new releases of eventing/serving/net-concour exist
87- // if applicable.
98+ // Update version in file if new releases of any component exist
8899func tryUpdateFile (upstreams []struct { owner , repo , version string }) (updated bool , err error ) {
89- file := "hack/allocate.sh"
100+ quoteWrap := func (s string ) string { return "\" " + s + "\" " }
101+ file := "hack/component-versions.sh"
90102 updated = false
91103
92104 // get current versions used. Get all together to limit opening/closing
@@ -98,25 +110,26 @@ func tryUpdateFile(upstreams []struct{ owner, repo, version string }) (updated b
98110
99111 // update files to latest release where applicable
100112 for _ , upstream := range upstreams {
113+ uv := quoteWrap (upstream .version )
101114 var cmd * exec.Cmd
102115 switch upstream .repo {
103116 case "serving" :
104117 if upstream .version != oldSrv {
105118 fmt .Printf ("update serving from '%s' to '%s'\n " , oldSrv , upstream .version )
106- cmd = exec .Command ("sed" , "-i" , "-e" , "s/" + knSrvPrefix + oldSrv + "/" + knSrvPrefix + upstream . version + "/g" , file )
119+ cmd = exec .Command ("sed" , "-i" , "-e" , "s/" + knSrvPrefix + quoteWrap ( oldSrv ) + "/" + knSrvPrefix + uv + "/g" , file )
107120 }
108121 case "eventing" :
109122 if upstream .version != oldEvt {
110123 fmt .Printf ("update eventing from '%s' to '%s'\n " , oldEvt , upstream .version )
111- cmd = exec .Command ("sed" , "-i" , "-e" , "s/" + knEvtPrefix + oldEvt + "/" + knEvtPrefix + upstream . version + "/g" , file )
124+ cmd = exec .Command ("sed" , "-i" , "-e" , "s/" + knEvtPrefix + quoteWrap ( oldEvt ) + "/" + knEvtPrefix + uv + "/g" , file )
112125 }
113- case "net-concour " :
126+ case "net-contour " :
114127 if upstream .version != oldCntr {
115128 fmt .Printf ("update contour from '%s' to '%s'\n " , oldCntr , upstream .version )
116- cmd = exec .Command ("sed" , "-i" , "-e" , "s/" + knCtrPrefix + oldCntr + "/" + knCtrPrefix + upstream . version + "/g" , file )
129+ cmd = exec .Command ("sed" , "-i" , "-e" , "s/" + knCtrPrefix + quoteWrap ( oldCntr ) + "/" + knCtrPrefix + uv + "/g" , file )
117130 }
118131 default :
119- err = fmt .Errorf ("unkown upstream.repo '%s' in for loop, exiting" , upstream .repo )
132+ err = fmt .Errorf ("internal error: unknown upstream.repo '%s' in for loop, exiting" , upstream .repo )
120133 return false , err
121134 }
122135 err = cmd .Run ()
0 commit comments