@@ -155,6 +155,17 @@ func (p Preparer) run(needStreamToOutput bool) *result.Result {
155
155
return saveErr (err )
156
156
}
157
157
158
+ // setup git
159
+ privateAccessToken := p .cfg .GetString ("PRIVATE_ACCESS_TOKEN" )
160
+ if privateAccessToken != "" {
161
+ err = runStepGroup (res .Log , "setup git" , func (sg * result.StepGroup , log logutil.Log ) error {
162
+ return p .setupGit (ctx , sg , log , runner , privateAccessToken )
163
+ })
164
+ if err != nil {
165
+ return saveErr (err )
166
+ }
167
+ }
168
+
158
169
// prepare repo
159
170
err = runStepGroup (res .Log , "prepare repo" , func (sg * result.StepGroup , log logutil.Log ) error {
160
171
return p .runPreparation (ctx , sg , log , & res .ServiceConfig , projectPath , runner )
@@ -376,6 +387,19 @@ func (p Preparer) parseGolangciLintVersion(sg *result.StepGroup, log logutil.Log
376
387
return v , nil
377
388
}
378
389
390
+ func (p Preparer ) setupGit (ctx context.Context , sg * result.StepGroup , log logutil.Log ,
391
+ runner * command.StreamingRunner , privateAccessToken string ) error {
392
+
393
+ sg .AddStep ("setup git overrides for GitHub private dependencies" )
394
+ overridePattern := fmt .
Sprintf (
`url.https://%[email protected] /.insteadOf` ,
privateAccessToken )
395
+ _ , err := runner .Run (ctx , "git" , "config" , "--global" , overridePattern , "https://github.com/" )
396
+ if err != nil {
397
+ return errors .Wrap (err , "failed to setup git overrides" )
398
+ }
399
+
400
+ return nil
401
+ }
402
+
379
403
func (p Preparer ) runPreparation (ctx context.Context , sg * result.StepGroup , log logutil.Log ,
380
404
cfg * goenvconfig.Service , projectPath string , runner * command.StreamingRunner ) error {
381
405
0 commit comments