Skip to content

Commit bd7404d

Browse files
authored
Merge branch 'develop' into feature/serverless-rules-lint
2 parents 3f44d85 + 47e7752 commit bd7404d

Some content is hidden

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

46 files changed

+97
-77
lines changed

appveyor-windows-al2023.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ install:
5454
# Make sure the temp directory exists for Python to use.
5555
- ps: "mkdir -Force C:\\tmp"
5656
- "python --version"
57-
- 'set PATH=%PYTHON_HOME%;C:\Ruby33-x64\bin;C:\Ruby32-x64\bin;%PATH%;C:\Python39-x64;C:\Python310-x64;C:\Python311-x64;C:\Python312-x64;C:\Python313-x64'
57+
- 'set PATH=%PYTHON_HOME%;C:\Ruby33-x64\bin;%PATH%;C:\Python39-x64;C:\Python310-x64;C:\Python311-x64;C:\Python312-x64;C:\Python313-x64'
5858
- "node --version"
5959
- "echo %PYTHON_HOME%"
6060
- "echo %PATH%"

appveyor-windows-binary.yml

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ install:
6464
- "gradle -v"
6565
- "mvn --version"
6666
- choco install ruby --version=3.3.0.1
67+
- choco install ruby --version=3.4.2.1
6768

6869
# Make sure the temp directory exists for Python to use.
6970
- ps: "mkdir -Force C:\\tmp"

appveyor-windows.yml

-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ install:
6262
- choco upgrade gradle --version=8.4.0
6363
- "gradle -v"
6464
- "mvn --version"
65-
- choco install ruby --version=3.3.0.1
6665

6766
# Make sure the temp directory exists for Python to use.
6867
- ps: "mkdir -Force C:\\tmp"

requirements/base.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ regex!=2021.10.8
3131
tzlocal==5.2
3232

3333
#Adding cfn-lint dependency for SAM validate
34-
cfn-lint~=1.32.3
34+
cfn-lint~=1.34.1
3535

3636
# Type checking boto3 objects
3737
boto3-stubs[apigateway,cloudformation,ecr,iam,lambda,s3,schemas,secretsmanager,signer,stepfunctions,sts,xray,sqs,kinesis]==1.35.71

requirements/dev.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ types-pywin32==308.0.0.20241221; python_version<"3.9"
1515
types-PyYAML==6.0.12.20250402
1616
types-chevron==0.14.2.20250103
1717
types-psutil==7.0.0.20250401
18-
types-setuptools==78.1.0.20250329
18+
types-setuptools==79.0.0.20250422
1919
types-Pygments==2.19.0.20250305
2020
types-colorama==0.4.15.20240311
2121
types-dateparser==1.2.0.20250408
@@ -46,6 +46,6 @@ filelock==3.18.0; python_version>="3.9"
4646
filelock==3.16.1; python_version<"3.9"
4747

4848
# formatter
49-
black==24.10.0; python_version>="3.9"
49+
black==25.1.0; python_version>="3.9"
5050
black==24.8.0; python_version<"3.9"
5151
psutil==7.0.0

requirements/pyinstaller-build.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Executable binary builder requirements
22
setuptools==75.6.0
3-
pyinstaller==6.12.0
3+
pyinstaller==6.13.0

requirements/reproducible-linux.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,9 @@ cffi==1.17.1 \
129129
--hash=sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87 \
130130
--hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b
131131
# via cryptography
132-
cfn-lint==1.32.3 \
133-
--hash=sha256:94ec87e9186dc2cd7d718eb14b4330cbc77889753310fa35600d8c94470bf8d5 \
134-
--hash=sha256:a5723e7c7ef537d70b098d43f42f9670ea9856cb21d1699efd7fd9e3aaab26c1
132+
cfn-lint==1.34.1 \
133+
--hash=sha256:2c21a908fa5d9b0c1caac2081c10261eaae7fce88364e4edc607717892f36d68 \
134+
--hash=sha256:58f4352c370a710b72b389eda0acd6762e62f926e534d2eb1609d5326ded4bed
135135
# via aws-sam-cli (setup.py)
136136
chardet==5.2.0 \
137137
--hash=sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 \

requirements/reproducible-mac.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,9 @@ cffi==1.17.1 \
129129
--hash=sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87 \
130130
--hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b
131131
# via cryptography
132-
cfn-lint==1.32.3 \
133-
--hash=sha256:94ec87e9186dc2cd7d718eb14b4330cbc77889753310fa35600d8c94470bf8d5 \
134-
--hash=sha256:a5723e7c7ef537d70b098d43f42f9670ea9856cb21d1699efd7fd9e3aaab26c1
132+
cfn-lint==1.34.1 \
133+
--hash=sha256:2c21a908fa5d9b0c1caac2081c10261eaae7fce88364e4edc607717892f36d68 \
134+
--hash=sha256:58f4352c370a710b72b389eda0acd6762e62f926e534d2eb1609d5326ded4bed
135135
# via aws-sam-cli (setup.py)
136136
chardet==5.2.0 \
137137
--hash=sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 \

requirements/reproducible-win.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,9 @@ cffi==1.17.1 \
129129
--hash=sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87 \
130130
--hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b
131131
# via cryptography
132-
cfn-lint==1.32.3 \
133-
--hash=sha256:94ec87e9186dc2cd7d718eb14b4330cbc77889753310fa35600d8c94470bf8d5 \
134-
--hash=sha256:a5723e7c7ef537d70b098d43f42f9670ea9856cb21d1699efd7fd9e3aaab26c1
132+
cfn-lint==1.34.1 \
133+
--hash=sha256:2c21a908fa5d9b0c1caac2081c10261eaae7fce88364e4edc607717892f36d68 \
134+
--hash=sha256:58f4352c370a710b72b389eda0acd6762e62f926e534d2eb1609d5326ded4bed
135135
# via aws-sam-cli (setup.py)
136136
chardet==5.2.0 \
137137
--hash=sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 \

samcli/hook_packages/terraform/copy_terraform_built_artifacts.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
"""
2-
Python script that prepares artifacts for SAM CLI to invoke.
2+
Python script that prepares artifacts for SAM CLI to invoke.
33
This script will work in both Linux/MacOS and Windows.
44
55
It consists of 5 steps:
66
1. create a temporary TF backend (create_backend_override)
77
2. run `terraform init -reconfigure`
88
3. run `terraform apply` on the SAM CLI Metadata resource
99
4. run `terraform out` to produce an output
10-
5. parse the output to locate the built artifact, and move it to the SAM CLI
10+
5. parse the output to locate the built artifact, and move it to the SAM CLI
1111
build artifact directory (find_and_copy_assets)
1212
1313
Note: This script intentionally does not use Python3 specific syntax.

samcli/hook_packages/terraform/hooks/prepare/types.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Contains the data types used in the TF prepare hook"""
1+
"""Contains the data types used in the TF prepare hook"""
22

33
from abc import ABC
44
from copy import deepcopy

samcli/hook_packages/terraform/hooks/prepare/utilities.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Maintain the utilities functions used in prepare hook """
1+
"""Maintain the utilities functions used in prepare hook"""
22

33
from samcli.hook_packages.terraform.hooks.prepare.constants import COMPILED_REGULAR_EXPRESSION
44

samcli/hook_packages/terraform/lib/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def build_cfn_logical_id(tf_address: str) -> str:
5252

5353

5454
def _calculate_configuration_attribute_value_hash(
55-
configuration_attribute_value: Union[str, List[Union[ConstantValue, ResolvedReference]]]
55+
configuration_attribute_value: Union[str, List[Union[ConstantValue, ResolvedReference]]],
5656
) -> str:
5757
"""
5858
Create a hash value of an attribute value of the resource configuration.

samcli/lib/bootstrap/companion_stack/companion_stack_builder.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Companion stack template builder
2+
Companion stack template builder
33
"""
44

55
from typing import Dict, cast

samcli/lib/bootstrap/companion_stack/companion_stack_manager.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Companion stack manager
2+
Companion stack manager
33
"""
44

55
import logging

samcli/lib/bootstrap/companion_stack/data_types.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Date type classes for companion stacks
2+
Date type classes for companion stacks
33
"""
44

55
import posixpath

samcli/lib/cookiecutter/exceptions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Exceptions raised from the cookiecutter workflow"""
1+
"""Exceptions raised from the cookiecutter workflow"""
22

33

44
class CookiecutterErrorException(Exception):

samcli/lib/cookiecutter/interactive_flow_creator.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" This module parses a json/yaml file that defines a flow of questions to fulfill the cookiecutter context"""
1+
"""This module parses a json/yaml file that defines a flow of questions to fulfill the cookiecutter context"""
22

33
from typing import Dict, Optional, Tuple
44

samcli/lib/cookiecutter/processor.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Define a processor to process the cookiecutter context before/after generating a cookiecutter project"""
1+
"""Define a processor to process the cookiecutter context before/after generating a cookiecutter project"""
22

33
from abc import ABC, abstractmethod
44
from typing import Dict

samcli/lib/cookiecutter/question.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" This module represents the questions to ask to the user to fulfill the cookiecutter context. """
1+
"""This module represents the questions to ask to the user to fulfill the cookiecutter context."""
22

33
from abc import ABC, abstractmethod
44
from enum import Enum

samcli/lib/init/templates/cookiecutter-aws-sam-hello-ruby/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ A cookiecutter template to create a Ruby Hello world boilerplate using [Serverle
1010

1111
Generate a boilerplate template in your current project directory using the following syntax:
1212

13-
* **Ruby 3.2**: `sam init --runtime ruby3.2`
13+
* **Ruby 3.4**: `sam init --runtime ruby3.4`
1414

1515
> **NOTE**: ``--name`` allows you to specify a different project folder name (`sam-app` is the default)
1616

samcli/lib/init/templates/cookiecutter-aws-sam-hello-ruby/cookiecutter.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"project_name": "Name of the project",
3-
"runtime": "ruby3.2",
3+
"runtime": "ruby3.4",
44
"architectures": {
55
"value": [
66
"x86_64"

samcli/lib/package/stream_cursor_utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
# NOTE: ANSI escape codes.
99
# NOTE: Still needs investigation on non terminal environments.
10-
ESC = "\u001B["
10+
ESC = "\u001b["
1111

1212
# Enables ANSI escape codes on Windows
1313
if platform.system().lower() == "windows":

samcli/lib/pipeline/bootstrap/resource.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Represents AWS resource"""
1+
"""Represents AWS resource"""
22

33
from typing import Optional
44

samcli/lib/pipeline/bootstrap/stage.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Application Environment """
1+
"""Application Environment"""
22

33
import hashlib
44
import json

samcli/lib/schemas/schemas_api_caller.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" To isolate Schemas API calls """
1+
"""To isolate Schemas API calls"""
22

33
import json
44
import logging

samcli/lib/schemas/schemas_aws_config.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" configure Schemas client based on AWS configuration provided by user """
1+
"""configure Schemas client based on AWS configuration provided by user"""
22

33
import click
44
from boto3.session import Session

samcli/lib/schemas/schemas_code_manager.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Isolates code download and merge logic for dynamic Schemas template """
1+
"""Isolates code download and merge logic for dynamic Schemas template"""
22

33
import json
44
import os

samcli/lib/schemas/schemas_constants.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Constant related to Schemas """
1+
"""Constant related to Schemas"""
22

33
# cookiecutter template parameter
44
SCHEMAS_REGISTRY = "AWS_Schema_registry"

samcli/lib/schemas/schemas_directory_hierarchy_builder.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Responsible for building schema code directory hierarchy based on schema name """
1+
"""Responsible for building schema code directory hierarchy based on schema name"""
22

33
import re
44

samcli/lib/sync/sync_flow.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""SyncFlow base class """
1+
"""SyncFlow base class"""
22

33
import logging
44
from abc import ABC, abstractmethod

samcli/lib/utils/configuration.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Read info from runtime_config.json file"""
1+
"""Read info from runtime_config.json file"""
22

33
import json
44
import logging

samcli/lib/utils/git_repo.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" Manage Git repo """
1+
"""Manage Git repo"""
22

33
import logging
44
import os

samcli/lib/utils/graphql_api.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
"""Helper functions to work with SAM GraphQLApi resource
2-
"""
1+
"""Helper functions to work with SAM GraphQLApi resource"""
32

43
from typing import Any, Dict, List, Tuple, Union
54

samcli/lib/utils/managed_cloudformation_stack.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ def _update_stack(
296296

297297

298298
def _generate_stack_parameters(
299-
parameter_overrides: Optional[Dict[str, Union[str, List[str]]]] = None
299+
parameter_overrides: Optional[Dict[str, Union[str, List[str]]]] = None,
300300
) -> List[Dict[str, str]]:
301301
parameters = []
302302
if parameter_overrides:

tests/end_to_end/test_runtimes_e2e.py

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
from distutils.dir_util import copy_tree
1+
import shutil
2+
import os
23
from unittest import skipIf
3-
44
import json
55
from pathlib import Path
6-
7-
import os
86
from parameterized import parameterized_class
97

108
from tests.end_to_end.end_to_end_base import EndToEndBase
@@ -181,7 +179,7 @@ def test_integration(self):
181179
with EndToEndTestContext(self.app_name) as e2e_context:
182180
project_path = str(self.e2e_test_data_path / "esbuild-datadog-integration")
183181
os.mkdir(e2e_context.project_directory)
184-
copy_tree(project_path, e2e_context.project_directory)
182+
shutil.copytree(project_path, e2e_context.project_directory, dirs_exist_ok=True)
185183
self.template_path = e2e_context.template_path
186184
build_command_list = self.get_command_list()
187185
deploy_command_list = self._get_deploy_command(stack_name)

tests/integration/buildcmd/test_build_cmd.py

+16-9
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ def test_building_ruby_3_2(self, use_container):
272272

273273
self._test_with_default_gemfile("ruby3.2", use_container, "Ruby", self.test_data_path)
274274

275-
@parameterized.expand([("ruby3.3",)])
275+
@parameterized.expand([("ruby3.3",), ("ruby3.4",)])
276276
@skipIf(SKIP_DOCKER_TESTS or SKIP_DOCKER_BUILD, SKIP_DOCKER_MESSAGE)
277277
@pytest.mark.al2023
278278
def test_building_ruby_al2023(self, runtime):
@@ -288,7 +288,14 @@ def test_building_ruby_3_2(self, use_container):
288288
self.skipTest(SKIP_DOCKER_MESSAGE)
289289
self._test_with_default_gemfile("ruby3.2", use_container, "Ruby32", self.test_data_path, "x86_64")
290290

291-
@parameterized.expand([("ruby3.3", "Ruby33", False), ("ruby3.3", "Ruby33", True)])
291+
@parameterized.expand(
292+
[
293+
("ruby3.3", "Ruby33", False),
294+
("ruby3.3", "Ruby33", True),
295+
# ("ruby3.4", "Ruby34", False), # TODO: Try to make this work in AppVeyor (windows-al2023)
296+
("ruby3.4", "Ruby34", True),
297+
]
298+
)
292299
@skipIf(SKIP_DOCKER_TESTS or SKIP_DOCKER_BUILD, SKIP_DOCKER_MESSAGE)
293300
@pytest.mark.al2023
294301
def test_building_ruby_al2023(self, runtime, codeuri, use_container):
@@ -301,7 +308,7 @@ class TestBuildCommand_RubyFunctionsWithGemfileInTheRoot(BuildIntegRubyBase):
301308
This doesn't apply to containerized build, since it copies only the function folder to the container
302309
"""
303310

304-
@parameterized.expand([("ruby3.2"), ("ruby3.3")])
311+
@parameterized.expand([("ruby3.2",), ("ruby3.3",), ("ruby3.4",)])
305312
def test_building_ruby_in_process_with_root_gemfile(self, runtime):
306313
self._prepare_application_environment(runtime)
307314
self._test_with_default_gemfile(runtime, False, "RubyWithRootGemfile", self.working_dir)
@@ -948,7 +955,7 @@ class TestBuildWithDedupBuilds(DedupBuildIntegBase):
948955
),
949956
(False, "Node", "main.lambdaHandler", "main.secondLambdaHandler", "nodejs20.x"),
950957
(False, "Python", "main.first_function_handler", "main.second_function_handler", "python3.9"),
951-
(False, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.2"),
958+
(False, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.4"),
952959
# container
953960
(
954961
True,
@@ -959,7 +966,7 @@ class TestBuildWithDedupBuilds(DedupBuildIntegBase):
959966
),
960967
(True, "Node", "main.lambdaHandler", "main.secondLambdaHandler", "nodejs20.x"),
961968
(True, "Python", "main.first_function_handler", "main.second_function_handler", "python3.9"),
962-
(True, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.2"),
969+
(True, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.4"),
963970
]
964971
)
965972
def test_dedup_build(self, use_container, code_uri, function1_handler, function2_handler, runtime):
@@ -1079,7 +1086,7 @@ class TestBuildWithCacheBuilds(CachedBuildIntegBase):
10791086
),
10801087
(False, "Node", "main.lambdaHandler", "main.secondLambdaHandler", "nodejs20.x"),
10811088
(False, "Python", "main.first_function_handler", "main.second_function_handler", "python3.9"),
1082-
(False, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.2"),
1089+
(False, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.4"),
10831090
# container
10841091
(
10851092
True,
@@ -1090,7 +1097,7 @@ class TestBuildWithCacheBuilds(CachedBuildIntegBase):
10901097
),
10911098
(True, "Node", "main.lambdaHandler", "main.secondLambdaHandler", "nodejs20.x"),
10921099
(True, "Python", "main.first_function_handler", "main.second_function_handler", "python3.9"),
1093-
(True, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.2"),
1100+
(True, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.4"),
10941101
]
10951102
)
10961103
def test_cache_build(self, use_container, code_uri, function1_handler, function2_handler, runtime):
@@ -1270,7 +1277,7 @@ class TestParallelBuilds(DedupBuildIntegBase):
12701277
),
12711278
(False, "Node", "main.lambdaHandler", "main.secondLambdaHandler", "nodejs20.x"),
12721279
(False, "Python", "main.first_function_handler", "main.second_function_handler", "python3.9"),
1273-
(False, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.2"),
1280+
(False, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.4"),
12741281
# container
12751282
(
12761283
True,
@@ -1281,7 +1288,7 @@ class TestParallelBuilds(DedupBuildIntegBase):
12811288
),
12821289
(True, "Node", "main.lambdaHandler", "main.secondLambdaHandler", "nodejs20.x"),
12831290
(True, "Python", "main.first_function_handler", "main.second_function_handler", "python3.9"),
1284-
(True, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.2"),
1291+
(True, "Ruby", "app.lambda_handler", "app.second_lambda_handler", "ruby3.4"),
12851292
]
12861293
)
12871294
def test_dedup_build(self, use_container, code_uri, function1_handler, function2_handler, runtime):

tests/integration/buildcmd/test_build_cmd_arm64.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def test_building_default_package_json_al2023(self, runtime, use_container):
182182
class TestBuildCommand_RubyFunctions_With_Architecture_arm64(BuildIntegRubyBase):
183183
template = "template_with_architecture.yaml"
184184

185-
@parameterized.expand([("ruby3.2", "Ruby32")])
185+
@parameterized.expand([("ruby3.2", "Ruby32"), ("ruby3.4", "Ruby34")])
186186
@skipIf(SKIP_DOCKER_TESTS or SKIP_DOCKER_BUILD, SKIP_DOCKER_MESSAGE)
187187
def test_building_ruby_in_container_with_specified_architecture(self, runtime, code_uri):
188188
self._test_with_default_gemfile(runtime, "use_container", code_uri, self.test_data_path, ARM64)

0 commit comments

Comments
 (0)