@@ -16,11 +16,8 @@ import (
1616)
1717
1818type Info struct {
19- RepoUrl string `json:"repoUrl"`
2019 Tag string `json:"tag"`
2120 Commit string `json:"commit"`
22- CommitUrl string `json:"commitUrl"`
23- VersionUrl string `json:"versionUrl"`
2421 TagPrefix string `json:"tagPrefix,omitempty"`
2522 Owner string `json:"owner`
2623 Repo string `json:"repo`
@@ -124,28 +121,39 @@ func getAndUpdateDependency(ctx context.Context, client *github.Client, dependen
124121}
125122
126123func getVersionAndCommit (ctx context.Context , client * github.Client , dependencies Dependencies , dependencyType string ) (string , string , error ) {
127-
128124 var version * github.RepositoryRelease
129125 var err error
130- // handle dependencies with prefix
131- releases , _ , err := client .Repositories .ListReleases (
132- ctx ,
133- dependencies [dependencyType ].Owner ,
134- dependencies [dependencyType ].Repo ,
135- nil )
126+ foundPrefixVersion := false
127+ options := & github.ListOptions {Page : 1 }
136128
137- if err != nil {
138- return "" , "" , fmt .Errorf ("error getting releases: %s" , err )
139- }
129+ for {
130+ releases , resp , err := client .Repositories .ListReleases (
131+ ctx ,
132+ dependencies [dependencyType ].Owner ,
133+ dependencies [dependencyType ].Repo ,
134+ options )
140135
141- if dependencies [dependencyType ].TagPrefix == "" {
142- version = releases [0 ]
143- } else {
144- for release := range releases {
145- if strings .HasPrefix (* releases [release ].TagName , dependencies [dependencyType ].TagPrefix ) {
146- version = releases [release ]
136+ if err != nil {
137+ return "" , "" , fmt .Errorf ("error getting releases: %s" , err )
138+ }
139+
140+ if dependencies [dependencyType ].TagPrefix == "" {
141+ version = releases [0 ]
142+ break
143+ } else if dependencies [dependencyType ].TagPrefix != "" {
144+ for release := range releases {
145+ if strings .HasPrefix (* releases [release ].TagName , dependencies [dependencyType ].TagPrefix ) {
146+ version = releases [release ]
147+ foundPrefixVersion = true
148+ break
149+ }
150+ }
151+ if foundPrefixVersion {
147152 break
148153 }
154+ options .Page = resp .NextPage
155+ } else if resp .NextPage == 0 {
156+ break
149157 }
150158 }
151159
@@ -196,6 +204,10 @@ func createVersionsEnv(repoPath string, dependencies Dependencies) error {
196204 envLines := []string {}
197205
198206 for dependency := range dependencies {
207+ repoUrl := "https://github.com/" +
208+ dependencies [dependency ].Owner + "/" +
209+ dependencies [dependency ].Repo + ".git"
210+
199211 dependencyPrefix := strings .ToUpper (dependency )
200212
201213 envLines = append (envLines , fmt .Sprintf ("export %s_%s=%s" ,
@@ -205,7 +217,7 @@ func createVersionsEnv(repoPath string, dependencies Dependencies) error {
205217 dependencyPrefix , "COMMIT" , dependencies [dependency ].Commit ))
206218
207219 envLines = append (envLines , fmt .Sprintf ("export %s_%s=%s" ,
208- dependencyPrefix , "REPO" , dependencies [ dependency ]. RepoUrl ))
220+ dependencyPrefix , "REPO" , repoUrl ))
209221 }
210222
211223 slices .Sort (envLines )
0 commit comments