Skip to content

Commit e1c6cc6

Browse files
authored
Merge pull request #91 from buildkite/feat_s3_parallel_upload_download
feat: switch s3 upload/download to parallel implementations from aws
2 parents db04767 + a1ca512 commit e1c6cc6

10 files changed

Lines changed: 239 additions & 148 deletions

File tree

api/client.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ func (c Client) CacheCommit(ctx context.Context, registry string, commit CacheCo
282282
return resp, trace.NewError(span, "failed to do request: %w", err)
283283
}
284284

285-
slog.Info("Cache committed with the following parameters", "resp", resp)
285+
slog.Debug("Cache committed with the following parameters", "resp", resp)
286286

287287
if res.StatusCode != http.StatusOK {
288288
return resp, trace.NewError(span, "failed to commit: %s", res.Status)
@@ -332,14 +332,14 @@ func (c Client) CacheRetrieve(ctx context.Context, registry string, retrieve Cac
332332

333333
u.RawQuery = queryParams.Encode()
334334

335-
slog.Info("Cache retrieve URL", "url", u.String())
335+
slog.Debug("Cache retrieve URL", "url", u.String())
336336

337337
res, resp, err := doRequest[CacheRetrieveReq, CacheRetrieveResp](ctx, c.client, http.MethodGet, u.String(), nil)
338338
if err != nil {
339339
return resp, false, trace.NewError(span, "failed to do request: %w", err)
340340
}
341341

342-
slog.Info("Cache retrieved with the following parameters",
342+
slog.Debug("Cache retrieved with the following parameters",
343343
"resp", resp,
344344
"status", res.Status,
345345
"code", res.StatusCode)

archive/create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func BuildArchive(ctx context.Context, paths []string, key string) (*ArchiveInfo
7676
return nil, fmt.Errorf("failed to walk path: %s with error: %w", mapping.ResolvedPath, err)
7777
}
7878

79-
slog.Info("chroot", "chroot", mapping.Chroot, "path", mapping.ResolvedPath)
79+
slog.Debug("chroot", "chroot", mapping.Chroot, "path", mapping.ResolvedPath)
8080

8181
err = arc.Archive(context.Background(), mapping.Chroot, files)
8282
if err != nil {

go.mod

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,56 +6,56 @@ toolchain go1.24.1
66

77
require (
88
drjosh.dev/zzglob v0.4.2
9-
github.com/aws/aws-sdk-go-v2 v1.40.0
10-
github.com/aws/aws-sdk-go-v2/config v1.32.2
11-
github.com/aws/aws-sdk-go-v2/service/s3 v1.92.1
9+
github.com/aws/aws-sdk-go-v2 v1.40.1
10+
github.com/aws/aws-sdk-go-v2/config v1.32.3
11+
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.13
12+
github.com/aws/aws-sdk-go-v2/service/s3 v1.93.0
13+
github.com/aws/smithy-go v1.24.0
1214
github.com/google/go-querystring v1.1.0
1315
github.com/klauspost/compress v1.18.2
1416
github.com/stretchr/testify v1.11.1
1517
github.com/wolfeidau/quickzip v1.0.2
16-
go.opentelemetry.io/otel v1.37.0
17-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0
18-
go.opentelemetry.io/otel/sdk v1.37.0
19-
go.opentelemetry.io/otel/trace v1.37.0
18+
go.opentelemetry.io/otel v1.38.0
19+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0
20+
go.opentelemetry.io/otel/sdk v1.38.0
21+
go.opentelemetry.io/otel/trace v1.38.0
2022
)
2123

2224
require (
23-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.3 // indirect
24-
github.com/aws/aws-sdk-go-v2/credentials v1.19.2 // indirect
25-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.14 // indirect
26-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.14 // indirect
27-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.14 // indirect
25+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 // indirect
26+
github.com/aws/aws-sdk-go-v2/credentials v1.19.3 // indirect
27+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.15 // indirect
28+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.15 // indirect
29+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.15 // indirect
2830
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
29-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.14 // indirect
30-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 // indirect
31-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.5 // indirect
32-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.14 // indirect
33-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.14 // indirect
34-
github.com/aws/aws-sdk-go-v2/service/signin v1.0.2 // indirect
35-
github.com/aws/aws-sdk-go-v2/service/sso v1.30.5 // indirect
36-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.10 // indirect
37-
github.com/aws/aws-sdk-go-v2/service/sts v1.41.2 // indirect
38-
github.com/aws/smithy-go v1.23.2 // indirect
39-
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
31+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.15 // indirect
32+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 // indirect
33+
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.6 // indirect
34+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.15 // indirect
35+
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.15 // indirect
36+
github.com/aws/aws-sdk-go-v2/service/signin v1.0.3 // indirect
37+
github.com/aws/aws-sdk-go-v2/service/sso v1.30.6 // indirect
38+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.11 // indirect
39+
github.com/aws/aws-sdk-go-v2/service/sts v1.41.3 // indirect
40+
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
4041
github.com/davecgh/go-spew v1.1.1 // indirect
4142
github.com/go-logr/logr v1.4.3 // indirect
4243
github.com/go-logr/stdr v1.2.2 // indirect
4344
github.com/google/uuid v1.6.0 // indirect
44-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect
45+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect
4546
github.com/pmezard/go-difflib v1.0.0 // indirect
4647
github.com/saracen/zipextra v0.0.0-20250129175152-f1aa42d25216 // indirect
47-
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
48-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 // indirect
49-
go.opentelemetry.io/otel/metric v1.37.0 // indirect
50-
go.opentelemetry.io/otel/sdk/metric v1.36.0 // indirect
51-
go.opentelemetry.io/proto/otlp v1.7.0 // indirect
52-
golang.org/x/net v0.41.0 // indirect
53-
golang.org/x/sync v0.16.0 // indirect
54-
golang.org/x/sys v0.34.0 // indirect
55-
golang.org/x/text v0.26.0 // indirect
56-
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
57-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
58-
google.golang.org/grpc v1.73.0 // indirect
59-
google.golang.org/protobuf v1.36.6 // indirect
48+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
49+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect
50+
go.opentelemetry.io/otel/metric v1.38.0 // indirect
51+
go.opentelemetry.io/proto/otlp v1.9.0 // indirect
52+
golang.org/x/net v0.47.0 // indirect
53+
golang.org/x/sync v0.18.0 // indirect
54+
golang.org/x/sys v0.38.0 // indirect
55+
golang.org/x/text v0.31.0 // indirect
56+
google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect
57+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
58+
google.golang.org/grpc v1.77.0 // indirect
59+
google.golang.org/protobuf v1.36.10 // indirect
6060
gopkg.in/yaml.v3 v3.0.1 // indirect
6161
)

0 commit comments

Comments
 (0)