@@ -101,34 +101,32 @@ func newCrafter(stateOpts *newCrafterStateOpts, conn *grpc.ClientConn, opts ...c
101101}
102102
103103// getCASBackend tries to get CAS upload credentials and set up a CAS client
104- func getCASBackend (ctx context.Context , client pb.AttestationServiceClient , workflowRunID , casCAPath , casURI string , casConnectionInsecure bool , logger zerolog.Logger , casBackend * casclient.CASBackend , casBackendInfo * * clientAPI.Attestation_CASBackend ) ( func () error , error ) {
104+ func getCASBackend (ctx context.Context , client pb.AttestationServiceClient , workflowRunID , casCAPath , casURI string , casConnectionInsecure bool , logger zerolog.Logger , casBackend * casclient.CASBackend ) ( * clientAPI.Attestation_CASBackend , func () error , error ) {
105105 credsResp , err := client .GetUploadCreds (ctx , & pb.AttestationServiceGetUploadCredsRequest {
106106 WorkflowRunId : workflowRunID ,
107107 })
108108 if err != nil {
109109 // Log warning but don't fail - will fall back to inline storage
110110 logger .Warn ().Err (err ).Msg ("failed to get CAS credentials for PR metadata, will store inline" )
111- return nil , fmt .Errorf ("getting upload creds: %w" , err )
111+ return nil , nil , fmt .Errorf ("getting upload creds: %w" , err )
112112 }
113113
114114 if credsResp == nil || credsResp .GetResult () == nil {
115115 logger .Debug ().Msg ("no upload creds result, will store inline" )
116- return nil , fmt .Errorf ("getting upload creds: %w" , err )
116+ return nil , nil , fmt .Errorf ("getting upload creds: %w" , err )
117117 }
118118
119119 result := credsResp .GetResult ()
120120 backend := result .GetBackend ()
121121 if backend == nil {
122122 logger .Debug ().Msg ("no backend info in upload creds, will store inline" )
123- return nil , fmt .Errorf ("no backend found in upload creds" )
123+ return nil , nil , fmt .Errorf ("no backend found in upload creds" )
124124 }
125125
126- if casBackendInfo != nil {
127- * casBackendInfo = & clientAPI.Attestation_CASBackend {
128- CasBackendId : backend .Id ,
129- CasBackendName : backend .Name ,
130- Fallback : backend .Fallback ,
131- }
126+ casBackendInfo := & clientAPI.Attestation_CASBackend {
127+ CasBackendId : backend .Id ,
128+ CasBackendName : backend .Name ,
129+ Fallback : backend .Fallback ,
132130 }
133131
134132 casBackend .Name = backend .Provider
@@ -138,7 +136,7 @@ func getCASBackend(ctx context.Context, client pb.AttestationServiceClient, work
138136
139137 // Only attempt to create a CAS connection when not inline and token is present
140138 if backend .IsInline || result .Token == "" {
141- return nil , nil
139+ return casBackendInfo , nil , nil
142140 }
143141
144142 opts := []grpcconn.Option {grpcconn .WithInsecure (casConnectionInsecure )}
@@ -149,9 +147,9 @@ func getCASBackend(ctx context.Context, client pb.AttestationServiceClient, work
149147 artifactCASConn , err := grpcconn .New (casURI , result .Token , opts ... )
150148 if err != nil {
151149 logger .Warn ().Err (err ).Msg ("failed to create CAS connection, will store inline" )
152- return nil , fmt .Errorf ("creating CAS connection: %w" , err )
150+ return nil , nil , fmt .Errorf ("creating CAS connection: %w" , err )
153151 }
154152
155153 casBackend .Uploader = casclient .New (artifactCASConn , casclient .WithLogger (logger ))
156- return artifactCASConn .Close , nil
154+ return casBackendInfo , artifactCASConn .Close , nil
157155}
0 commit comments