Skip to content

Maintenance: Support for Python 3.12 #3272

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

Closed
2 tasks done
leandrodamascena opened this issue Oct 30, 2023 · 2 comments · Fixed by #3304
Closed
2 tasks done

Maintenance: Support for Python 3.12 #3272

leandrodamascena opened this issue Oct 30, 2023 · 2 comments · Fixed by #3304
Assignees
Labels
internal Maintenance changes
Milestone

Comments

@leandrodamascena
Copy link
Contributor

leandrodamascena commented Oct 30, 2023

Why is this needed?

Python 3.12 official docker image is available in preview: aws/aws-lambda-base-images#110 (comment). We can start preparing to add support Python 3.12 in Powertools for AWS Lambda.

Which area does this relate to?

Other

Solution

Use this playbook to add support for Python 3.12. Thank you @rubenfonseca for this extensive work in creating these detailed steps.

Steps

1. Prerequisites

2. Testing locally

  • Must install the new Python runtime version and run all the tests and linters locally to see if anything is breaking, by running make pr

3. Bumping the supported runtimes in the layer construct

On the CDK Layer repository, do:

  • Bump the CDK version to support the new AWS Lambda Python runtime version
  • Change the supported runtimes to include the new runtime
  • Make sure tests still pass by running yarn projen test
  • Submit and merge a PR with the changes
  • Execute the release workflow to generate a new version of the construct from the main branch

4. Updating workflows and templates

  • Update all files inside the .github directory to include the new runtime version. This includes the e2e workflow

5. Layer

6. SAR

  • Add the new runtime to the layer/sar/template.txt

7. Change the PyPi metadata

8. Open a PR and run E2E tests

  • Open a new PR with the changes made in steps 4, 5, 6 and 7.
  • Wait for the automated tests to pass (so the tests run against the new runtime)
  • Manually schedule an E2E workflow on that branch (so the automated tests run against the new runtime)

9. Examples

  • Update the SAM/Terraform examples to use the latest version of the supported runtime.

10. Merge and release

  • If everything is green you should be able to merge the PR and release a new version, which will generate and publish the new Layer and SAR template.
  • Have a cold beverage (don't forget that) and celebrate! 🍺 🎉

Acknowledgment

@leandrodamascena leandrodamascena added triage Pending triage from maintainers internal Maintenance changes labels Oct 30, 2023
@leandrodamascena leandrodamascena self-assigned this Oct 30, 2023
@leandrodamascena leandrodamascena moved this from Triage to Next iteration in Powertools for AWS Lambda (Python) Oct 30, 2023
@leandrodamascena leandrodamascena removed the triage Pending triage from maintainers label Oct 30, 2023
@leandrodamascena leandrodamascena linked a pull request Nov 7, 2023 that will close this issue
22 tasks
@heitorlessa heitorlessa added this to the Python 3.12 milestone Nov 13, 2023
@heitorlessa heitorlessa moved this from Next iteration to Coming soon in Powertools for AWS Lambda (Python) Nov 13, 2023
@heitorlessa heitorlessa moved this from Coming soon to Working on it in Powertools for AWS Lambda (Python) Nov 13, 2023
@github-project-automation github-project-automation bot moved this from Working on it to Coming soon in Powertools for AWS Lambda (Python) Dec 14, 2023
Copy link
Contributor

⚠️COMMENT VISIBILITY WARNING⚠️

This issue is now closed. Please be mindful that future comments are hard for our team to see.

If you need more assistance, please either tag a team member or open a new issue that references this one.

If you wish to keep having a conversation with other community members under this issue feel free to do so.

@github-actions github-actions bot added the pending-release Fix or implementation already in dev waiting to be released label Dec 14, 2023
Copy link
Contributor

This is now released under 2.30.0 version!

@github-actions github-actions bot removed the pending-release Fix or implementation already in dev waiting to be released label Dec 14, 2023
@rubenfonseca rubenfonseca moved this from Coming soon to Shipped in Powertools for AWS Lambda (Python) Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal Maintenance changes
Projects
Status: Shipped
Development

Successfully merging a pull request may close this issue.

2 participants