Skip to content

Commit c59c83d

Browse files
authored
Merge branch 'develop' into fix-8477
2 parents e457dff + 3766900 commit c59c83d

File tree

30 files changed

+578
-95
lines changed

30 files changed

+578
-95
lines changed

.github/workflows/update-reproducibles.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
with:
2525
python-version: "3.11"
2626
- name: Install uv
27-
uses: astral-sh/setup-uv@v5
27+
uses: astral-sh/setup-uv@v7
2828
- name: Update all reproducible requirements
2929
run: make update-reproducible-reqs-uv
3030
- name: Push changes

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,7 @@ cov.xml
407407
coverage.xml
408408

409409
# Temporary scratch directory used by the tests
410+
tests/integration/*/tmp/*
410411
tests/integration/buildcmd/scratch
411412
tests/integration/testdata/buildcmd/Dotnet*/bin
412413
tests/integration/testdata/buildcmd/Dotnet*/obj
@@ -425,4 +426,4 @@ samcli/lib/init/templates/cookiecutter-aws-sam-hello-java-gradle/**/.gradle/
425426
mise.toml
426427

427428
# Durable executions
428-
**/.durable-executions-local/
429+
**/.durable-executions-local/

requirements/base.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ aws-sam-translator==1.106.0
1111
docker~=7.1.0
1212
dateparser~=1.2
1313
requests~=2.32.5
14-
aws_lambda_builders==1.61.0
15-
tomlkit==0.13.3
14+
aws_lambda_builders==1.62.0
15+
tomlkit==0.14.0
1616
# NOTE: For supporting watchdog in Python3.8, version is pinned to 4.0.2 as
1717
# version 5.0.2 introduced some breaking changes for versions > Python3.8
1818
watchdog==4.0.2

requirements/dev.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ types-pywin32==311.0.0.20251008; python_version>="3.9"
1414
types-pywin32==308.0.0.20241221; python_version<"3.9"
1515
types-PyYAML==6.0.12.20250915
1616
types-chevron==0.14.2.20250103
17-
types-psutil==7.2.1.20251231
17+
types-psutil==7.2.1.20260116
1818
types-setuptools==80.9.0.20251223
1919
types-Pygments==2.19.0.20251121
2020
types-colorama==0.4.15.20250801
@@ -48,4 +48,4 @@ filelock==3.19.1; python_version<"3.10"
4848
# formatter
4949
black==25.9.0; python_version>="3.9"
5050
black==24.8.0; python_version<"3.9"
51-
psutil==7.2.0
51+
psutil==7.2.1

requirements/pre-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ruff==0.14.11
1+
ruff==0.14.14

requirements/reproducible-linux.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ attrs==25.4.0 \
1414
# via
1515
# jsonschema
1616
# referencing
17-
aws-lambda-builders==1.61.0 \
18-
--hash=sha256:04c275702f1718287de32af92f19c9206c1f29222adfdd8aa85efe3458e101cf \
19-
--hash=sha256:29bfe6eac3c55677ed383687ab63aa31372576f537e6310b8af953cef6c787f4
17+
aws-lambda-builders==1.62.0 \
18+
--hash=sha256:008afea8aa14bd10a1cf8b7c736ceee893b38d8dca15519e6121a384bd86e52f \
19+
--hash=sha256:2f1a4baa61c165941d26fdf05966aa4c2e95a66af06b7309bb09558daea4a561
2020
# via aws-sam-cli (setup.py)
2121
aws-sam-translator==1.106.0 \
2222
--hash=sha256:09e58160cdba3539dd37be209bc2accf51f8b71f8d4cc5431e248f794b122644 \
@@ -80,19 +80,19 @@ boto3[crt]==1.42.26 \
8080
# via
8181
# aws-sam-cli (setup.py)
8282
# aws-sam-translator
83-
boto3-stubs[apigateway, cloudformation, ecr, iam, kinesis, lambda, s3, schemas, secretsmanager, signer, sqs, stepfunctions, sts, xray]==1.42.27 \
84-
--hash=sha256:2ce6bc2c71d19eade43179b9fa76ff5726b59668c1e6eef0c1f5aed6406675d3 \
85-
--hash=sha256:9c35521b704a0b9f7bd2ce226d07d6eb94c0c35d5663fb7a2e7521d747cef967
83+
boto3-stubs[apigateway, cloudformation, ecr, iam, kinesis, lambda, s3, schemas, secretsmanager, signer, sqs, stepfunctions, sts, xray]==1.42.34 \
84+
--hash=sha256:eb98cf3cc0a74ed75ea4945152cf10da57c8c9628104a13db16cde10176219ab \
85+
--hash=sha256:fafcc3713c331bac11bf55fe913e5a3a01820f0cde640cfc4694df5a94aa9557
8686
# via aws-sam-cli (setup.py)
8787
botocore[crt]==1.42.27 \
8888
--hash=sha256:c8e1e3ffb6c871622b1c8054f064d60cbc786aa5ca1f97f5f9fd5fa0a9d82d05 \
8989
--hash=sha256:d51fb3b8dd1a944c8d238d2827a0dd6e5528d6da49a3bd9eccad019c533e4c9c
9090
# via
9191
# boto3
9292
# s3transfer
93-
botocore-stubs==1.42.27 \
94-
--hash=sha256:1e5bc3f8879dc0c8cf98e668d108b3314d34db8f342ade2a9a53d88f27dc3292 \
95-
--hash=sha256:b0075eb627800cc3bb6486595b4322e2ed3b3e36925bf1700d7b48ac14bfa37f
93+
botocore-stubs==1.42.34 \
94+
--hash=sha256:afc08661122eff6939d88cd250084ac148e392f8a1a389d51a31a4b9dab59358 \
95+
--hash=sha256:f3d1c5b45c2cbe16f63719abe639b23a1eeb3fec9c3ea0a72688585b462e8ce3
9696
# via boto3-stubs
9797
certifi==2026.1.4 \
9898
--hash=sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c \
@@ -1172,13 +1172,13 @@ text-unidecode==1.3 \
11721172
--hash=sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8 \
11731173
--hash=sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93
11741174
# via python-slugify
1175-
tomlkit==0.13.3 \
1176-
--hash=sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1 \
1177-
--hash=sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0
1175+
tomlkit==0.14.0 \
1176+
--hash=sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680 \
1177+
--hash=sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064
11781178
# via aws-sam-cli (setup.py)
1179-
types-awscrt==0.31.0 \
1180-
--hash=sha256:009cfe5b9af8c75e8304243490e20a5229e7a56203f1d41481f5522233453f51 \
1181-
--hash=sha256:aa8b42148af0847be14e2b8ea3637a3518ffab038f8d3be7083950f3ce87d3ff
1179+
types-awscrt==0.31.1 \
1180+
--hash=sha256:08b13494f93f45c1a92eb264755fce50ed0d1dc75059abb5e31670feb9a09724 \
1181+
--hash=sha256:7e4364ac635f72bd57f52b093883640b1448a6eded0ecbac6e900bf4b1e4777b
11821182
# via botocore-stubs
11831183
types-s3transfer==0.16.0 \
11841184
--hash=sha256:1c0cd111ecf6e21437cb410f5cddb631bfb2263b77ad973e79b9c6d0cb24e0ef \

requirements/reproducible-mac.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ attrs==25.4.0 \
1414
# via
1515
# jsonschema
1616
# referencing
17-
aws-lambda-builders==1.61.0 \
18-
--hash=sha256:04c275702f1718287de32af92f19c9206c1f29222adfdd8aa85efe3458e101cf \
19-
--hash=sha256:29bfe6eac3c55677ed383687ab63aa31372576f537e6310b8af953cef6c787f4
17+
aws-lambda-builders==1.62.0 \
18+
--hash=sha256:008afea8aa14bd10a1cf8b7c736ceee893b38d8dca15519e6121a384bd86e52f \
19+
--hash=sha256:2f1a4baa61c165941d26fdf05966aa4c2e95a66af06b7309bb09558daea4a561
2020
# via aws-sam-cli (setup.py)
2121
aws-sam-translator==1.106.0 \
2222
--hash=sha256:09e58160cdba3539dd37be209bc2accf51f8b71f8d4cc5431e248f794b122644 \
@@ -80,19 +80,19 @@ boto3[crt]==1.42.26 \
8080
# via
8181
# aws-sam-cli (setup.py)
8282
# aws-sam-translator
83-
boto3-stubs[apigateway, cloudformation, ecr, iam, kinesis, lambda, s3, schemas, secretsmanager, signer, sqs, stepfunctions, sts, xray]==1.42.27 \
84-
--hash=sha256:2ce6bc2c71d19eade43179b9fa76ff5726b59668c1e6eef0c1f5aed6406675d3 \
85-
--hash=sha256:9c35521b704a0b9f7bd2ce226d07d6eb94c0c35d5663fb7a2e7521d747cef967
83+
boto3-stubs[apigateway, cloudformation, ecr, iam, kinesis, lambda, s3, schemas, secretsmanager, signer, sqs, stepfunctions, sts, xray]==1.42.34 \
84+
--hash=sha256:eb98cf3cc0a74ed75ea4945152cf10da57c8c9628104a13db16cde10176219ab \
85+
--hash=sha256:fafcc3713c331bac11bf55fe913e5a3a01820f0cde640cfc4694df5a94aa9557
8686
# via aws-sam-cli (setup.py)
8787
botocore[crt]==1.42.27 \
8888
--hash=sha256:c8e1e3ffb6c871622b1c8054f064d60cbc786aa5ca1f97f5f9fd5fa0a9d82d05 \
8989
--hash=sha256:d51fb3b8dd1a944c8d238d2827a0dd6e5528d6da49a3bd9eccad019c533e4c9c
9090
# via
9191
# boto3
9292
# s3transfer
93-
botocore-stubs==1.42.27 \
94-
--hash=sha256:1e5bc3f8879dc0c8cf98e668d108b3314d34db8f342ade2a9a53d88f27dc3292 \
95-
--hash=sha256:b0075eb627800cc3bb6486595b4322e2ed3b3e36925bf1700d7b48ac14bfa37f
93+
botocore-stubs==1.42.34 \
94+
--hash=sha256:afc08661122eff6939d88cd250084ac148e392f8a1a389d51a31a4b9dab59358 \
95+
--hash=sha256:f3d1c5b45c2cbe16f63719abe639b23a1eeb3fec9c3ea0a72688585b462e8ce3
9696
# via boto3-stubs
9797
certifi==2026.1.4 \
9898
--hash=sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c \
@@ -1172,13 +1172,13 @@ text-unidecode==1.3 \
11721172
--hash=sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8 \
11731173
--hash=sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93
11741174
# via python-slugify
1175-
tomlkit==0.13.3 \
1176-
--hash=sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1 \
1177-
--hash=sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0
1175+
tomlkit==0.14.0 \
1176+
--hash=sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680 \
1177+
--hash=sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064
11781178
# via aws-sam-cli (setup.py)
1179-
types-awscrt==0.31.0 \
1180-
--hash=sha256:009cfe5b9af8c75e8304243490e20a5229e7a56203f1d41481f5522233453f51 \
1181-
--hash=sha256:aa8b42148af0847be14e2b8ea3637a3518ffab038f8d3be7083950f3ce87d3ff
1179+
types-awscrt==0.31.1 \
1180+
--hash=sha256:08b13494f93f45c1a92eb264755fce50ed0d1dc75059abb5e31670feb9a09724 \
1181+
--hash=sha256:7e4364ac635f72bd57f52b093883640b1448a6eded0ecbac6e900bf4b1e4777b
11821182
# via botocore-stubs
11831183
types-s3transfer==0.16.0 \
11841184
--hash=sha256:1c0cd111ecf6e21437cb410f5cddb631bfb2263b77ad973e79b9c6d0cb24e0ef \

requirements/reproducible-win.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ attrs==25.4.0 \
1414
# via
1515
# jsonschema
1616
# referencing
17-
aws-lambda-builders==1.61.0 \
18-
--hash=sha256:04c275702f1718287de32af92f19c9206c1f29222adfdd8aa85efe3458e101cf \
19-
--hash=sha256:29bfe6eac3c55677ed383687ab63aa31372576f537e6310b8af953cef6c787f4
17+
aws-lambda-builders==1.62.0 \
18+
--hash=sha256:008afea8aa14bd10a1cf8b7c736ceee893b38d8dca15519e6121a384bd86e52f \
19+
--hash=sha256:2f1a4baa61c165941d26fdf05966aa4c2e95a66af06b7309bb09558daea4a561
2020
# via aws-sam-cli (setup.py)
2121
aws-sam-translator==1.106.0 \
2222
--hash=sha256:09e58160cdba3539dd37be209bc2accf51f8b71f8d4cc5431e248f794b122644 \
@@ -80,19 +80,19 @@ boto3[crt]==1.42.26 \
8080
# via
8181
# aws-sam-cli (setup.py)
8282
# aws-sam-translator
83-
boto3-stubs[apigateway, cloudformation, ecr, iam, kinesis, lambda, s3, schemas, secretsmanager, signer, sqs, stepfunctions, sts, xray]==1.42.27 \
84-
--hash=sha256:2ce6bc2c71d19eade43179b9fa76ff5726b59668c1e6eef0c1f5aed6406675d3 \
85-
--hash=sha256:9c35521b704a0b9f7bd2ce226d07d6eb94c0c35d5663fb7a2e7521d747cef967
83+
boto3-stubs[apigateway, cloudformation, ecr, iam, kinesis, lambda, s3, schemas, secretsmanager, signer, sqs, stepfunctions, sts, xray]==1.42.34 \
84+
--hash=sha256:eb98cf3cc0a74ed75ea4945152cf10da57c8c9628104a13db16cde10176219ab \
85+
--hash=sha256:fafcc3713c331bac11bf55fe913e5a3a01820f0cde640cfc4694df5a94aa9557
8686
# via aws-sam-cli (setup.py)
8787
botocore[crt]==1.42.27 \
8888
--hash=sha256:c8e1e3ffb6c871622b1c8054f064d60cbc786aa5ca1f97f5f9fd5fa0a9d82d05 \
8989
--hash=sha256:d51fb3b8dd1a944c8d238d2827a0dd6e5528d6da49a3bd9eccad019c533e4c9c
9090
# via
9191
# boto3
9292
# s3transfer
93-
botocore-stubs==1.42.27 \
94-
--hash=sha256:1e5bc3f8879dc0c8cf98e668d108b3314d34db8f342ade2a9a53d88f27dc3292 \
95-
--hash=sha256:b0075eb627800cc3bb6486595b4322e2ed3b3e36925bf1700d7b48ac14bfa37f
93+
botocore-stubs==1.42.34 \
94+
--hash=sha256:afc08661122eff6939d88cd250084ac148e392f8a1a389d51a31a4b9dab59358 \
95+
--hash=sha256:f3d1c5b45c2cbe16f63719abe639b23a1eeb3fec9c3ea0a72688585b462e8ce3
9696
# via boto3-stubs
9797
certifi==2026.1.4 \
9898
--hash=sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c \
@@ -1198,13 +1198,13 @@ text-unidecode==1.3 \
11981198
--hash=sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8 \
11991199
--hash=sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93
12001200
# via python-slugify
1201-
tomlkit==0.13.3 \
1202-
--hash=sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1 \
1203-
--hash=sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0
1201+
tomlkit==0.14.0 \
1202+
--hash=sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680 \
1203+
--hash=sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064
12041204
# via aws-sam-cli (setup.py)
1205-
types-awscrt==0.31.0 \
1206-
--hash=sha256:009cfe5b9af8c75e8304243490e20a5229e7a56203f1d41481f5522233453f51 \
1207-
--hash=sha256:aa8b42148af0847be14e2b8ea3637a3518ffab038f8d3be7083950f3ce87d3ff
1205+
types-awscrt==0.31.1 \
1206+
--hash=sha256:08b13494f93f45c1a92eb264755fce50ed0d1dc75059abb5e31670feb9a09724 \
1207+
--hash=sha256:7e4364ac635f72bd57f52b093883640b1448a6eded0ecbac6e900bf4b1e4777b
12081208
# via botocore-stubs
12091209
types-s3transfer==0.16.0 \
12101210
--hash=sha256:1c0cd111ecf6e21437cb410f5cddb631bfb2263b77ad973e79b9c6d0cb24e0ef \

samcli/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
SAM CLI version
33
"""
44

5-
__version__ = "1.152.0"
5+
__version__ = "1.153.1"

samcli/commands/package/command.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
kms_key_id_option,
1616
metadata_option,
1717
no_progressbar_option,
18+
resolve_image_repos_option,
1819
resolve_s3_option,
1920
s3_bucket_option,
2021
s3_prefix_option,
@@ -86,13 +87,14 @@ def resources_and_properties_help_string():
8687
@use_json_option
8788
@force_upload_option
8889
@resolve_s3_option
90+
@resolve_image_repos_option
8991
@metadata_option
9092
@signing_profiles_option
9193
@no_progressbar_option
9294
@common_options
9395
@aws_creds_options
9496
@save_params_option
95-
@image_repository_validation(support_resolve_image_repos=False)
97+
@image_repository_validation(support_resolve_image_repos=True)
9698
@pass_context
9799
@track_command
98100
@check_newer_version
@@ -115,6 +117,7 @@ def cli(
115117
metadata,
116118
signing_profiles,
117119
resolve_s3,
120+
resolve_image_repos,
118121
save_params,
119122
config_file,
120123
config_env,
@@ -140,6 +143,7 @@ def cli(
140143
ctx.region,
141144
ctx.profile,
142145
resolve_s3,
146+
resolve_image_repos,
143147
) # pragma: no cover
144148

145149

@@ -159,17 +163,22 @@ def do_cli(
159163
region,
160164
profile,
161165
resolve_s3,
166+
resolve_image_repos,
162167
):
163168
"""
164169
Implementation of the ``cli`` method
165170
"""
166171

172+
from samcli.commands.package.exceptions import PackageResolveS3AndS3NotSetError
167173
from samcli.commands.package.package_context import PackageContext
168174

169175
if resolve_s3:
170176
s3_bucket = manage_stack(profile=profile, region=region)
171177
print_managed_s3_bucket_info(s3_bucket)
172178

179+
if resolve_image_repos and not s3_bucket:
180+
raise PackageResolveS3AndS3NotSetError()
181+
173182
with PackageContext(
174183
template_file=template_file,
175184
s3_bucket=s3_bucket,
@@ -185,5 +194,6 @@ def do_cli(
185194
region=region,
186195
profile=profile,
187196
signing_profiles=signing_profiles,
197+
resolve_image_repos=resolve_image_repos,
188198
) as package_context:
189199
package_context.run()

0 commit comments

Comments
 (0)