77 "github.com/ethereum-optimism/optimism/op-service/retry"
88 "github.com/google/go-github/v72/github"
99 "github.com/urfave/cli/v3"
10+ "slices"
1011 "time"
1112
1213 "log"
@@ -74,6 +75,9 @@ func updater(token string, repoPath string) error {
7475 return fmt .Errorf ("error reading versions JSON: %s" , err )
7576 }
7677
78+ client := github .NewClient (nil ).WithAuthToken (token )
79+ ctx := context .Background ()
80+
7781 var dependencies Dependencies
7882
7983 err = json .Unmarshal (f , & dependencies )
@@ -84,8 +88,9 @@ func updater(token string, repoPath string) error {
8488 for dependency := range dependencies {
8589 err := retry .Do0 (context .Background (), 3 , retry .Fixed (1 * time .Second ), func () error {
8690 return getAndUpdateDependency (
91+ ctx ,
92+ client ,
8793 dependency ,
88- token ,
8994 repoPath ,
9095 dependencies ,
9196 )
@@ -104,12 +109,8 @@ func updater(token string, repoPath string) error {
104109 return nil
105110}
106111
107- func getAndUpdateDependency (
108- dependencyType string ,
109- token string ,
110- repoPath string ,
111- dependencies Dependencies ) error {
112- version , commit , err := getVersionAndCommit (token , dependencies , dependencyType )
112+ func getAndUpdateDependency (ctx context.Context , client * github.Client , dependencyType string , repoPath string , dependencies Dependencies ) error {
113+ version , commit , err := getVersionAndCommit (ctx , client , dependencies , dependencyType )
113114 if err != nil {
114115 return err
115116 }
@@ -122,14 +123,11 @@ func getAndUpdateDependency(
122123 return nil
123124}
124125
125- func getVersionAndCommit (token string , dependencies Dependencies , dependencyType string ) (string , string , error ) {
126- client := github .NewClient (nil ).WithAuthToken (token )
127- ctx := context .Background ()
126+ func getVersionAndCommit (ctx context.Context , client * github.Client , dependencies Dependencies , dependencyType string ) (string , string , error ) {
128127
129128 var version * github.RepositoryRelease
130129 var err error
131130 // handle dependencies with prefix
132- //if dependencies[dependencyType].TagPrefix != nil {
133131 releases , _ , err := client .Repositories .ListReleases (
134132 ctx ,
135133 dependencies [dependencyType ].Owner ,
@@ -210,6 +208,8 @@ func createVersionsEnv(repoPath string, dependencies Dependencies) error {
210208 dependencyPrefix , "REPO" , dependencies [dependency ].RepoUrl ))
211209 }
212210
211+ slices .Sort (envLines )
212+
213213 file , err := os .Create (repoPath + "/versions.env" )
214214 if err != nil {
215215 return fmt .Errorf ("error creating versions.env file: %s" , err )
0 commit comments