Skip to content

Commit

Permalink
Merge pull request #73 from bitrise-io/fix-metadata
Browse files Browse the repository at this point in the history
fix: Use client name specific for build tools
  • Loading branch information
zsolt-marta-bitrise authored Dec 11, 2024
2 parents aa932aa + 573d0c6 commit c259b77
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 10 deletions.
8 changes: 7 additions & 1 deletion cmd/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@ import (
"github.com/bitrise-io/go-utils/v2/log"
)

const (
ClientNameXcode = "xcode"
ClientNameGradleConfigCache = "gradle-config"
)

func createKVClient(ctx context.Context,
cacheOperationID string,
clientName string,
authConfig common.CacheAuthConfig,
envProvider common.EnvProviderFunc,
logger log.Logger) (*kv.Client, error) {
Expand All @@ -36,7 +42,7 @@ func createKVClient(ctx context.Context,
UseInsecure: insecureGRPC,
Host: buildCacheHost,
DialTimeout: 5 * time.Second,
ClientName: "kv",
ClientName: clientName,
AuthConfig: authConfig,
Logger: logger,
CacheConfigMetadata: common.NewCacheConfigMetadata(envProvider),
Expand Down
7 changes: 6 additions & 1 deletion cmd/deleteXcodeDerivedData.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,12 @@ func deleteXcodeDerivedDataCmdFn(ctx context.Context, providedCacheKey string, u
}
logger.Infof("(i) Cache key: %s", cacheKey)

kvClient, err := createKVClient(ctx, "", authConfig, envProvider, logger)
kvClient, err := createKVClient(ctx,
"",
ClientNameXcode,
authConfig,
envProvider,
logger)
if err != nil {
return fmt.Errorf("create kv client: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/restoreGradleConfigurationCache.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func restoreGradleConfigCacheCmdFn(ctx context.Context,
providedCacheKey string,
logger log.Logger,
envProvider func(string) string) error {
kvClient, err := createKVClient(ctx, uuid.NewString(), authConfig, envProvider, logger)
kvClient, err := createKVClient(ctx, ClientNameGradleConfigCache, uuid.NewString(), authConfig, envProvider, logger)
if err != nil {
return fmt.Errorf("create kv client: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/restoreXcodeDerivedDataFiles.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ func init() {
func restoreXcodeDerivedDataFilesCmdFn(ctx context.Context, authConfig common.CacheAuthConfig, cacheMetadataPath, projectRoot, providedCacheKey string, logger log.Logger,
tracker xcode.StepAnalyticsTracker, startT time.Time, envProvider func(string) string, isDebugLogMode, skipExisting, forceOverwrite bool, maxLoggedDownloadErrors int) (*xa.CacheOperation, error) {
op := newCacheOperation(startT, xa.OperationTypeDownload, envProvider)
kvClient, err := createKVClient(ctx, op.OperationID, authConfig, envProvider, logger)
kvClient, err := createKVClient(ctx, ClientNameXcode, op.OperationID, authConfig, envProvider, logger)
if err != nil {
return nil, fmt.Errorf("create kv client: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/saveGradleConfigurationCache.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func saveGradleConfigCacheCmdFn(ctx context.Context,
envProvider func(string) string) error {
var err error

kvClient, err := createKVClient(ctx, uuid.NewString(), authConfig, envProvider, logger)
kvClient, err := createKVClient(ctx, ClientNameGradleConfigCache, uuid.NewString(), authConfig, envProvider, logger)
if err != nil {
return fmt.Errorf("create kv client: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/saveXcodeDerivedDataFiles.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ func saveXcodeDerivedDataFilesCmdFn(ctx context.Context,
op.CacheKey = cacheKey
logger.Infof("(i) Cache operation ID: %s", op.OperationID)

kvClient, err := createKVClient(ctx, op.OperationID, authConfig, envProvider, logger)
kvClient, err := createKVClient(ctx, ClientNameXcode, op.OperationID, authConfig, envProvider, logger)
if err != nil {
return op, fmt.Errorf("create kv client: %w", err)
}
Expand Down
8 changes: 4 additions & 4 deletions internal/build_cache/kv/methods.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func (c *Client) Put(ctx context.Context, params PutParams) (io.WriteCloser, err
return nil, fmt.Errorf("initiate put: %w", err)
}

resourceName := fmt.Sprintf("%s/%s", c.clientName, params.Name)
resourceName := fmt.Sprintf("kv/%s", params.Name)

return &writer{
stream: stream,
Expand All @@ -59,7 +59,7 @@ func (c *Client) Put(ctx context.Context, params PutParams) (io.WriteCloser, err
}

func (c *Client) Get(ctx context.Context, name string) (io.ReadCloser, error) {
resourceName := fmt.Sprintf("%s/%s", c.clientName, name)
resourceName := fmt.Sprintf("kv/%s", name)

ctx = metadata.NewOutgoingContext(ctx, c.getMethodCallMetadata())

Expand All @@ -80,7 +80,7 @@ func (c *Client) Get(ctx context.Context, name string) (io.ReadCloser, error) {
}

func (c *Client) Delete(ctx context.Context, name string) error {
resourceName := fmt.Sprintf("%s/%s", c.clientName, name)
resourceName := fmt.Sprintf("kv/%s", name)

ctx = metadata.NewOutgoingContext(ctx, c.getMethodCallMetadata())

Expand Down Expand Up @@ -168,7 +168,7 @@ func convertToFileDigests(digests []*remoteexecution.Digest) []*FileDigest {
func (c *Client) getMethodCallMetadata() metadata.MD {
md := metadata.Pairs(
"authorization", fmt.Sprintf("bearer %s", c.authConfig.AuthToken),
"x-flare-buildtool", "xcode")
"x-flare-buildtool", c.clientName)

if c.cacheOperationID != "" {
md.Set("x-cache-operation-id", c.cacheOperationID)
Expand Down

0 comments on commit c259b77

Please sign in to comment.