Skip to content

Commit c15a8d2

Browse files
authored
feat(build): graduate Rust cargo-lambda support from experimental (#8526)
* feat(build): graduate Rust cargo-lambda support from experimental Remove the experimental/beta flag requirement for building Rust functions with the rust-cargolambda build method. Users no longer need to pass --beta-features or set SAM_CLI_BETA_RUST_CARGO_LAMBDA=1 to build Rust Lambda functions. Changes: - Remove RustCargoLambda from ExperimentalFlag class - Remove _check_rust_cargo_experimental_flag() method from BuildContext - Update integration tests to not require beta_features flag - Update unit tests to remove mock for deleted method * fix: update unit tests for experimental * feat: move Rust Cargo Lambda out of experimental - Add CargoLambda to ExperimentalFlag with persistent=True - Update is_experimental_enabled() to always return True for persistent flags - Update unit tests for new flag count and persistent behavior
1 parent 38b11e6 commit c15a8d2

5 files changed

Lines changed: 6 additions & 8 deletions

File tree

samcli/commands/_utils/experimental.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ class ExperimentalFlag:
5454
"experimentalTerraformSupport", EXPERIMENTAL_ENV_VAR_PREFIX + "TERRAFORM_SUPPORT"
5555
)
5656
}
57-
RustCargoLambda = ExperimentalEntry("experimentalCargoLambda", EXPERIMENTAL_ENV_VAR_PREFIX + "RUST_CARGO_LAMBDA")
5857
UvPackageManager = ExperimentalEntry(
5958
"experimentalUvPackageManager", EXPERIMENTAL_ENV_VAR_PREFIX + "UV_PACKAGE_MANAGER"
6059
)

samcli/commands/build/build_context.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,6 @@ def _check_build_method_experimental_flag(self) -> None:
706706
Prints warning message and confirms if user wants to use beta feature
707707
"""
708708
EXPERIMENTAL_BUILD_METHODS = {
709-
"rust-cargolambda": ExperimentalFlag.RustCargoLambda,
710709
"python-uv": ExperimentalFlag.UvPackageManager,
711710
}
712711

tests/integration/buildcmd/build_integ_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1159,7 +1159,7 @@ def _test_with_rust_cargo_lambda(
11591159
overrides = self.get_override(runtime, code_uri, architecture, handler)
11601160
if binary:
11611161
overrides["Binary"] = binary
1162-
cmdlist = self.get_command_list(use_container=use_container, parameter_overrides=overrides, beta_features=True)
1162+
cmdlist = self.get_command_list(use_container=use_container, parameter_overrides=overrides)
11631163

11641164
newenv = os.environ.copy()
11651165
if build_mode:

tests/unit/commands/_utils/test_experimental.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,16 @@ def test_set_experimental(self):
5757
self.gc_mock.return_value.set_value.assert_called_once_with(config_entry, False, is_flag=True, flush=False)
5858

5959
def test_get_all_experimental(self):
60-
self.assertEqual(len(get_all_experimental()), 6)
60+
self.assertEqual(len(get_all_experimental()), 5)
6161

6262
def test_get_all_experimental_statues(self):
63-
self.assertEqual(len(get_all_experimental_statues()), 6)
63+
self.assertEqual(len(get_all_experimental_statues()), 5)
6464

6565
def test_get_all_experimental_env_vars(self):
66-
self.assertEqual(len(get_all_experimental_env_vars()), 6)
66+
self.assertEqual(len(get_all_experimental_env_vars()), 5)
6767

6868
def test_get_enabled_experimental_flags(self):
69-
self.assertEqual(len(get_enabled_experimental_flags()), 6)
69+
self.assertEqual(len(get_enabled_experimental_flags()), 5)
7070

7171
@patch("samcli.commands._utils.experimental.set_experimental")
7272
@patch("samcli.commands._utils.experimental.get_all_experimental")

tests/unit/commands/buildcmd/test_build_context.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1266,7 +1266,7 @@ def test_build_in_source_event_sent(
12661266
self,
12671267
mock_track_event,
12681268
mock_builder,
1269-
mock_rust,
1269+
mock_experimental,
12701270
mock_warning,
12711271
mock_get_resources,
12721272
mock_is_sam_template,

0 commit comments

Comments
 (0)