Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: update awaiter s3 key #13872

Merged
merged 3 commits into from
Aug 2, 2024
Merged

fix: update awaiter s3 key #13872

merged 3 commits into from
Aug 2, 2024

Conversation

dpilch
Copy link
Member

@dpilch dpilch commented Jul 31, 2024

Description of changes

With the CDK version upgrade the runtime version of the custom resource lambda changed from 16 to 18. With the runtime change the lambda code needed be changed to account for breaking changes between 16 and 18. However, the S3 key for the zip file containing the lambda code was not changed. During the CFN deploy if the S3 key for the lambda code is unchanged the lambda code will not be updated.

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html

Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.

This resulted in the runtime version being upgraded to 18, but the code was not updated (and stayed with the runtime version 16 compatible implementation). The lambda would then throw errors when executed.

This change updates the lambda code s3 key to append the runtime version. This will cause the next deploy to update the lambda code because the s3 key has changed.

Changes in API repo: aws-amplify/amplify-category-api#2732

Issue #, if available

aws-amplify/amplify-category-api#2730

Description of how you validated changes

Manual testing. This issue only presents itself when upgrading from an earlier version of the CLI with an existing awaiter function deployed. We do not have an E2E testing framework that allows multiple versions of the CLI to be used. Adding this testing would delay the release of this fix. The tests can be added at a later time.

Checklist

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@dpilch
Copy link
Member Author

dpilch commented Jul 31, 2024

This will also need release from API category.

Copy link
Member

@palpatim palpatim left a comment

Choose a reason for hiding this comment

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

LGTM

phani-srikar
phani-srikar previously approved these changes Aug 1, 2024
@dpilch dpilch marked this pull request as ready for review August 1, 2024 21:50
@dpilch dpilch requested a review from a team as a code owner August 1, 2024 21:50
phani-srikar
phani-srikar previously approved these changes Aug 1, 2024
sobolk
sobolk previously approved these changes Aug 1, 2024
@dpilch dpilch dismissed stale reviews from sobolk and phani-srikar via 818c470 August 2, 2024 16:59
@awsluja awsluja merged commit dacfab7 into dev Aug 2, 2024
5 checks passed
@awsluja awsluja deleted the update-awaiter-s3-key branch August 2, 2024 18:46
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.

6 participants