Skip to content

Conversation

@Iamrodos
Copy link
Contributor

Issue number: closes #7689

Summary

Changes

Fixed a typo in .github/workflows/update_ssm.yml where 10 out of 12 SSM parameter path variables were missing the $ prefix on PACKAGE_VERSION.

When adding Python 3.14 support in commit a58cef7, the workflow was refactored to use shell environment variables instead of GitHub Actions expressions. However, during this refactor, the $ symbol was accidentally omitted on most lines, causing the literal string "PACKAGE_VERSION" to be used in parameter paths instead of the actual semantic version (e.g., "3.23.0").

Lines fixed:

  • ARM64: Python 3.11, 3.12, 3.13, 3.14
  • x86_64: Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14

User experience

Before:
Users looking for version-specific SSM parameters for Python 3.11-3.14 (ARM64) and all x86_64 versions cannot find them for release 3.23.0.

For example, querying
aws ssm get-parameter --name "/aws/service/powertools/python/x86_64/python3.13/3.23.0" --region us-east-1 returns ParameterNotFound

Instead, incorrectly named parameters exist at /aws/service/powertools/python/x86_64/python3.13/PACKAGE_VERSION

After:
Future releases will create correctly named SSM parameters that users can reference in their CloudFormation templates and infrastructure code.

Note:

This fix prevents the issue in future releases. The v3.23.0 parameters will need to be recreated separately by re-running the update_ssm workflow for that version.


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Fixes aws-powertools#7689

When adding Python 3.14 support in commit a58cef7, the SSM parameter
creation workflow was refactored to use environment variables instead
of GitHub Actions expressions. However, 10 out of 12 lines were missing
the dollar sign ($) prefix on the PACKAGE_VERSION variable.

This caused version 3.23.0 SSM parameters to be created with the literal
string 'PACKAGE_VERSION' in the path instead of the actual version number.

For example, instead of:
  /aws/service/powertools/python/x86_64/python3.13/3.23.0

The workflow created:
  /aws/service/powertools/python/x86_64/python3.13/PACKAGE_VERSION

This affected:
- ARM64: Python 3.11, 3.12, 3.13, 3.14 (4 versions)
- x86_64: Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14 (6 versions)

Only ARM64 Python 3.9 and 3.10 worked correctly.

Verified by checking AWS SSM - the incorrectly named parameters exist
and the correctly named version parameters are missing.
@Iamrodos Iamrodos requested a review from a team as a code owner November 15, 2025 23:11
@boring-cyborg boring-cyborg bot added the github-actions Pull requests that update Github_actions code label Nov 15, 2025
@pull-request-size pull-request-size bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Nov 15, 2025
@sonarqubecloud
Copy link

@github-actions github-actions bot added the bug Something isn't working label Nov 15, 2025
@leandrodamascena leandrodamascena merged commit 2f3b693 into aws-powertools:develop Nov 15, 2025
14 checks passed
@leandrodamascena
Copy link
Contributor

Hey @Iamrodos thanks for sending this PR! I was taking a look on this. I merged this and run the parameter workflow again.

{
    "Parameter": {
        "Name": "/aws/service/powertools/python/x86_64/python3.14/latest",
        "Type": "String",
        "Value": "arn:aws:lambda:us-east-1:017000801446:layer:AWSLambdaPowertoolsPythonV3-python314-x86_64:27",
        "Version": 2,
        "LastModifiedDate": "2025-11-15T23:28:24.845000+00:00",
        "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/powertools/python/x86_64/python3.14/latest",
        "DataType": "text"
    }
}

@Iamrodos
Copy link
Contributor Author

@leandrodamascena thanks for the merge and running the update.

FYI I found this because dependabot trigger because of the PyPi update. I use the SSM in my CloudFormation to specify the specific layer. However I have a lint check on my CF that verifies that the layer actually exists, due to the "potential 48 hour delay" in it being available. After waiting quite a while, I figured there was something wrong and started to investigate the missing parameter.

Love PowerTools!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working github-actions Pull requests that update Github_actions code size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Missing SSM parameter for Lambda Layer version 3.23.0

2 participants