Skip to content

chore(deps): migrate from deprecated s3/manager to feature/s3/transfermanager #680

@jhagberg

Description

@jhagberg

aws/aws-sdk-go-v2/service/s3/manager is deprecated in favour of
aws/aws-sdk-go-v2/feature/s3/transfermanager
(aws/aws-sdk-go-v2#3306). golangci-lint
has been flagging this as five SA1019 hits on main for several CI
runs, so every PR inherits a failing Lint code check.

Where it hits

  • upload/upload.go:133manager.NewUploader(s3Client)
  • upload/upload.go:224uploader.Upload(ctx, …)
  • upload/upload.go:229func(u *manager.Uploader) option callback
  • list/list_test.go:90manager.NewUploader(s3Client) (test fixture)
  • list/list_test.go:94uploader.Upload(context.Background(), …) (test fixture)

Scope

  • Swap imports to feature/s3/transfermanager.
  • Port uploader construction (constructor signature differs — the new
    package is instance-style with transfermanager.New(s3Client, opts...)).
  • Port the Uploader options callback (progress-bar wiring in
    upload.go:229 — confirm the equivalent hook on the new type).
  • Update the test fixture in list/list_test.go to match.
  • Re-run golangci-lint run --timeout 5m locally to confirm main
    goes green before merge.

Out of scope

  • Behavioural changes to upload chunking, concurrency, or retry
    semantics beyond what the new package's defaults enforce. If the
    migration requires tuning to match current behaviour, keep that
    within this PR; larger rewrites belong in a follow-up.

Why now

Having a failing Lint code check on main makes it hard to use
lint as a merge gate on downstream work (see the #663 stack, starting
with #679). Unblocking this first keeps every stacked PR's CI signal
honest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions