Skip to content

Commit 3e25974

Browse files
Merge branch 'develop' into feat/multiple-dimension-sets
2 parents bdea129 + c4631a9 commit 3e25974

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+918
-1229
lines changed

.github/dependabot.yml

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,86 +3,109 @@ updates:
33
- package-ecosystem: "github-actions"
44
directory: "/"
55
schedule:
6-
interval: "daily"
6+
interval: "weekly"
7+
day: "monday"
78
commit-message:
89
prefix: chore
910
include: scope
11+
groups:
12+
github-actions:
13+
patterns:
14+
- "*"
1015

1116
- package-ecosystem: "pip"
1217
directory: "/"
1318
schedule:
14-
interval: "daily"
19+
interval: "weekly"
20+
day: "monday"
1521
target-branch: "develop"
1622
commit-message:
1723
prefix: chore
1824
include: scope
1925
ignore:
20-
# 2022-04-23: Ignoring boto3 changes until we need to care about them.
2126
- dependency-name: "boto3"
2227
groups:
2328
boto-typing:
2429
patterns:
2530
- "mypy-boto3-*"
31+
dev-dependencies:
32+
patterns:
33+
- "pytest*"
34+
- "ruff"
35+
- "mypy"
36+
- "black"
37+
- "coverage"
38+
- "flake8*"
39+
- "pre-commit"
2640

2741
- package-ecosystem: "npm"
2842
directory: "/"
2943
schedule:
30-
interval: "daily"
44+
interval: "weekly"
45+
day: "monday"
3146
target-branch: "develop"
3247
commit-message:
3348
prefix: chore
3449
include: scope
3550
allow:
36-
# Allow updates for AWS CDK
37-
- dependency-name: "aws-cdk"
51+
- dependency-name: "aws-cdk*"
52+
groups:
53+
aws-cdk:
54+
patterns:
55+
- "aws-cdk*"
3856

3957
- package-ecosystem: pip
4058
directory: /benchmark/src/instrumented
4159
commit-message:
4260
prefix: chore
4361
include: scope
4462
schedule:
45-
interval: daily
63+
interval: monthly
4664

4765
- package-ecosystem: pip
4866
directory: /benchmark/src/reference
4967
commit-message:
5068
prefix: chore
5169
include: scope
5270
schedule:
53-
interval: daily
71+
interval: monthly
5472

5573
- package-ecosystem: docker
5674
directory: /docs
5775
commit-message:
5876
prefix: chore
5977
include: scope
6078
schedule:
61-
interval: daily
79+
interval: monthly
6280

6381
- package-ecosystem: pip
6482
directory: /docs
6583
commit-message:
6684
prefix: chore
6785
include: scope
6886
schedule:
69-
interval: daily
87+
interval: weekly
88+
day: "monday"
89+
groups:
90+
docs-dependencies:
91+
patterns:
92+
- "*"
7093

7194
- package-ecosystem: pip
7295
directory: /examples/event_handler_graphql/src
7396
commit-message:
7497
prefix: chore
7598
include: scope
7699
schedule:
77-
interval: daily
100+
interval: monthly
78101

79102
- package-ecosystem: gomod
80103
directory: /layer/scripts/layer-balancer
81104
commit-message:
82105
prefix: chore
83106
include: scope
84107
schedule:
85-
interval: daily
108+
interval: monthly
86109
groups:
87110
layer-balancer:
88111
patterns:

.github/workflows/bootstrap_region.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
uses: aws-powertools/actions/.github/actions/cached-node-modules@3b5b8e2e58b7af07994be982e83584a94e8c76c5
5656
- id: credentials
5757
name: AWS Credentials
58-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838
58+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708
5959
with:
6060
aws-region: ${{ inputs.region }}
6161
role-to-assume: ${{ secrets.REGION_IAM_ROLE }}
@@ -96,7 +96,7 @@ jobs:
9696
steps:
9797
- id: credentials
9898
name: AWS Credentials
99-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
99+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
100100
with:
101101
aws-region: us-east-1
102102
role-to-assume: ${{ secrets.REGION_IAM_ROLE }}

.github/workflows/build_changelog.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,10 @@ name: Build changelog
99

1010
# USAGE
1111
#
12-
# Always triggered on PR merge or manually from GitHub UI if we must.
12+
# Triggered manually from GitHub UI when needed (e.g., before a release).
1313

1414
on:
1515
workflow_dispatch:
16-
# push:
17-
# branches:
18-
# - develop
19-
schedule:
20-
# Note: run daily at 10am UTC time until upstream git-chlog uses stable sorting
21-
- cron: "0 10 * * *"
2216

2317
permissions:
2418
contents: read

.github/workflows/dispatch_analytics.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
statuses: read
4444
steps:
4545
- name: Configure AWS credentials
46-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
46+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
4747
with:
4848
aws-region: eu-central-1
4949
role-to-assume: ${{ secrets.AWS_LAYERS_ROLE_ARN }}

.github/workflows/layer_govcloud.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
environment: Prod (Readonly)
6161
steps:
6262
- name: Configure AWS Credentials
63-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
63+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
6464
with:
6565
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
6666
aws-region: us-east-1
@@ -118,7 +118,7 @@ jobs:
118118
SHA=$(jq -r '.Content.CodeSha256' '${{ matrix.layer }}_${{ matrix.arch }}.json')
119119
test "$(openssl dgst -sha256 -binary ${{ matrix.layer }}_${{ matrix.arch }}.zip | openssl enc -base64)" == "$SHA" && echo "SHA OK: ${SHA}" || exit 1
120120
- name: Configure AWS Credentials
121-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
121+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
122122
with:
123123
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
124124
aws-region: us-gov-east-1
@@ -188,7 +188,7 @@ jobs:
188188
SHA=$(jq -r '.Content.CodeSha256' '${{ matrix.layer }}_${{ matrix.arch }}.json')
189189
test "$(openssl dgst -sha256 -binary ${{ matrix.layer }}_${{ matrix.arch }}.zip | openssl enc -base64)" == "$SHA" && echo "SHA OK: ${SHA}" || exit 1
190190
- name: Configure AWS Credentials
191-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
191+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
192192
with:
193193
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
194194
aws-region: us-gov-west-1

.github/workflows/layer_govcloud_python313.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
environment: Prod (Readonly)
5656
steps:
5757
- name: Configure AWS Credentials
58-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
58+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
5959
with:
6060
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
6161
aws-region: us-east-1
@@ -108,7 +108,7 @@ jobs:
108108
SHA=$(jq -r '.Content.CodeSha256' '${{ matrix.layer }}_${{ matrix.arch }}.json')
109109
test "$(openssl dgst -sha256 -binary ${{ matrix.layer }}_${{ matrix.arch }}.zip | openssl enc -base64)" == "$SHA" && echo "SHA OK: ${SHA}" || exit 1
110110
- name: Configure AWS Credentials
111-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
111+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
112112
with:
113113
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
114114
aws-region: us-gov-east-1
@@ -173,7 +173,7 @@ jobs:
173173
SHA=$(jq -r '.Content.CodeSha256' '${{ matrix.layer }}_${{ matrix.arch }}.json')
174174
test "$(openssl dgst -sha256 -binary ${{ matrix.layer }}_${{ matrix.arch }}.zip | openssl enc -base64)" == "$SHA" && echo "SHA OK: ${SHA}" || exit 1
175175
- name: Configure AWS Credentials
176-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
176+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
177177
with:
178178
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
179179
aws-region: us-gov-west-1

.github/workflows/layer_govcloud_verify.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
environment: Prod (Readonly)
4141
steps:
4242
- name: Configure AWS Credentials
43-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
43+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
4444
with:
4545
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
4646
aws-region: us-east-1
@@ -71,7 +71,7 @@ jobs:
7171
environment: GovCloud Prod (East)
7272
steps:
7373
- name: Configure AWS Credentials
74-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
74+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
7575
with:
7676
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
7777
aws-region: us-gov-east-1
@@ -103,7 +103,7 @@ jobs:
103103
environment: GovCloud Prod (West)
104104
steps:
105105
- name: Configure AWS Credentials
106-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
106+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
107107
with:
108108
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
109109
aws-region: us-gov-east-1

.github/workflows/layers_partition_verify.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ jobs:
8888
- x86_64
8989
steps:
9090
- name: Configure AWS Credentials
91-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
91+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
9292
with:
9393
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
9494
aws-region: us-east-1
@@ -138,7 +138,7 @@ jobs:
138138
run: |
139139
echo 'CONVERTED_REGION=${{ matrix.region }}' | tr 'a-z\-' 'A-Z_' >> "$GITHUB_OUTPUT"
140140
- name: Configure AWS Credentials
141-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
141+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
142142
with:
143143
role-to-assume: ${{ secrets[format('IAM_ROLE_{0}', steps.transform.outputs.CONVERTED_REGION)] }}
144144
aws-region: ${{ matrix.region}}

.github/workflows/layers_partitions.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585
- x86_64
8686
steps:
8787
- name: Configure AWS Credentials
88-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
88+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
8989
with:
9090
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
9191
aws-region: us-east-1
@@ -150,7 +150,7 @@ jobs:
150150
run: |
151151
echo 'CONVERTED_REGION=${{ matrix.region }}' | tr 'a-z\-' 'A-Z_' >> "$GITHUB_OUTPUT"
152152
- name: Configure AWS Credentials
153-
uses: aws-actions/configure-aws-credentials@a03048d87541d1d9fcf2ecf528a4a65ba9bd7838 # v4.3.0
153+
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v4.3.0
154154
with:
155155
role-to-assume: ${{ secrets[format('IAM_ROLE_{0}', steps.transform.outputs.CONVERTED_REGION)] }}
156156
aws-region: ${{ matrix.region}}

.github/workflows/pre-release.yml

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ env:
2323
on:
2424
workflow_dispatch:
2525
inputs:
26+
version:
27+
description: "Pre-release version to publish (e.g., 3.24.0a0)"
28+
required: true
29+
type: string
2630
skip_code_quality:
2731
description: "Skip tests, linting, and baseline. Only use if release fail for reasons beyond our control and you need a quick release."
2832
default: false
@@ -33,9 +37,6 @@ on:
3337
default: false
3438
type: boolean
3539
required: false
36-
schedule:
37-
# Note: run daily on weekdays at 8am UTC time
38-
- cron: "0 8 * * 1-5"
3940

4041
permissions:
4142
contents: read
@@ -58,38 +59,26 @@ jobs:
5859
artifact_name: ${{ steps.seal_source_code.outputs.artifact_name }}
5960
RELEASE_VERSION: ${{ steps.release_version.outputs.RELEASE_VERSION }}
6061
steps:
61-
# NOTE: Different from prod release, we need both poetry and source code available in earlier steps to bump and verify.
62-
63-
# We use a pinned version of Poetry to be certain it won't modify source code before we create a hash
64-
- name: Install poetry
65-
run: |
66-
pipx install git+https://github.com/python-poetry/poetry@bd500dd3bdfaec3de6894144c9cedb3a9358be84 # v2.0.1
67-
pipx inject poetry git+https://github.com/monim67/poetry-bumpversion@348de6f247222e2953d649932426e63492e0a6bf # v0.3.3
68-
6962
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
7063
with:
7164
ref: ${{ env.RELEASE_COMMIT }}
7265

73-
- name: Bump and export release version
66+
- name: Set release version
7467
id: release_version
75-
run: |
76-
RELEASE_VERSION="$(poetry version prerelease --short | head -n1 | tr -d '\n')"
68+
run: echo "RELEASE_VERSION=${{ inputs.version }}" >> "$GITHUB_OUTPUT"
7769

78-
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "$GITHUB_OUTPUT"
79-
80-
- name: Verifies pre-release version semantics
81-
# verify pre-release semantics before proceeding to avoid versioning pollution
82-
# e.g., 2.40.0a1 and 2.40.0b2 are valid while 2.40.0 is not
83-
# NOTE. we do it in a separate step to handle edge cases like
84-
# `poetry` CLI uses immutable install, versioning behaviour could change even in a minor version (we had breaking changes before)
85-
# a separate step allows us to pinpoint what happened (before/after)
70+
- name: Verify pre-release version semantics
8671
run: |
87-
if [[ ! "$RELEASE_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+[a-b].*$ ]]; then
88-
echo "Version $VERSION doesn't look like a pre-release version; aborting"
72+
if [[ ! "${{ inputs.version }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+[a-b][0-9]+$ ]]; then
73+
echo "Version ${{ inputs.version }} doesn't look like a pre-release version (e.g., 3.24.0a0); aborting"
8974
exit 1
9075
fi
91-
env:
92-
RELEASE_VERSION: ${{ steps.release_version.outputs.RELEASE_VERSION}}
76+
77+
- name: Update version in pyproject.toml
78+
run: sed -i 's/^version = ".*"/version = "${{ inputs.version }}"/' pyproject.toml
79+
80+
- name: Update version in version.py
81+
run: sed -i 's/^VERSION = ".*"/VERSION = "${{ inputs.version }}"/' aws_lambda_powertools/shared/version.py
9382

9483
- name: Seal and upload
9584
id: seal_source_code
@@ -126,7 +115,7 @@ jobs:
126115
- name: Install poetry
127116
run: pipx install git+https://github.com/python-poetry/poetry@bd500dd3bdfaec3de6894144c9cedb3a9358be84 # v2.0.1
128117
- name: Set up Python
129-
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
118+
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
130119
with:
131120
python-version: "3.14"
132121
cache: "poetry"
@@ -164,7 +153,7 @@ jobs:
164153
- name: Install poetry
165154
run: pipx install git+https://github.com/python-poetry/poetry@bd500dd3bdfaec3de6894144c9cedb3a9358be84 # v2.0.1
166155
- name: Set up Python
167-
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
156+
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
168157
with:
169158
python-version: "3.14"
170159
cache: "poetry"

0 commit comments

Comments
 (0)