Skip to content

Conversation

CDRayn
Copy link

@CDRayn CDRayn commented Jun 24, 2025

About

This PR migrates platform-lib to the v2 version of the Go AWS SDK. This migrations is necessary due to the v1 version of the SDK being deprecated and AWS dropping support for it on 7/31/2025. The high level changes made as part of the migration will be summarized below, but the official migration guide is a good resource for reviewers who wish to better understand the context and motivation behind the changes in this PR.

Summary of Changes

Configuration Loading & Initialization

The v2 version of the SDK replaces the session package and its associated functionality with the simplified config. The Configuration Loading section of the migration guide explains the changes to this area between versions of the SDK. For flexibility, this PR updates platform-lib to leave parsing / consuming the AWS config to the consumer of this library and expects an Options interface passed to it.

S3 Copier

The S3 copier implementation was removed by this PR since the v2 version of the SDK adds builtin support for moving and copying objects between S3 buckets.

Go context parameter

v2 of the SDK adds support for the use of Go's ctx context.Context interface. This PR adds ctx context.Context to the signatures of functions that may result in network operations or long running tasks, and which may need to be cancelled.

Formatting

For readability and clarity, lines in the code base that exceeded 120 characters in length were wrapped across multiple lines. Some variable and symbol declarations were updated because their name collided with package imports or Go builtin items.

@CDRayn CDRayn requested review from jonyoder, a team and jmwoliver and removed request for a team June 24, 2025 14:45
@CDRayn CDRayn requested review from glin and nunyunuymi June 24, 2025 14:45
@glin
Copy link
Contributor

glin commented Jun 25, 2025

I haven't reviewed yet, but just from a quick look, there are a lot of files changed only for the copyright update, so it's hard to even browse the changes in the diff. Chunking up/squashing the commits so the copyright update only updates are separated would probably help a lot. Same with the other changes, so it's easier to review a single commit without the copyrights.

@jonyoder
Copy link
Collaborator

I haven't reviewed yet, but just from a quick look, there are a lot of files changed only for the copyright update, so it's hard to even browse the changes in the diff. Chunking up/squashing the commits so the copyright update only updates are separated would probably help a lot. Same with the other changes, so it's easier to review a single commit without the copyrights.

I'm having similar difficulties. We generally try to handle linting and tweaks like this in separate PRs to make the important changes readable.

Copy link
Collaborator

@jonyoder jonyoder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One preliminary question - have we tried these changes with PPM? You can tweak the PPM go.mod to include the platform-lib modules from your local project directory and do any PPM refactoring necessary, then see if you run into issues. That may help catch any blockers early instead of later.

@CDRayn
Copy link
Author

CDRayn commented Jun 26, 2025

One preliminary question - have we tried these changes with PPM? You can tweak the PPM go.mod to include the platform-lib modules from your local project directory and do any PPM refactoring necessary, then see if you run into issues. That may help catch any blockers early instead of later.

@jonyoder I haven't yet but that is my plan once all the integrations tests are working. Once all the tests pass, I'll use PPM as a final integration / end-to-end test before these changes get merged.

@jstruzik
Copy link

jstruzik commented Jul 7, 2025

@CDRayn I know SDK updates can be tough, especially as the repo is constantly changing, but is there a way to break this PR down a bit further like Greg is suggesting? I imagine a separate copyright work would be approved and merged rather quickly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants