Skip to content

Conversation

MEPalma
Copy link
Contributor

@MEPalma MEPalma commented Jun 2, 2025

Motivation

The introduction of the CloudFormation v2 engine laid the foundation for a redesigned engine capable of accurately determining update requirements between CloudFormation deployments, while also enabling parallel execution during updates. However, the current implementation offers no support for Fn::Split.

Changes

@MEPalma MEPalma added this to the 4.5 milestone Jun 2, 2025
@MEPalma MEPalma self-assigned this Jun 2, 2025
@MEPalma MEPalma added the semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases label Jun 2, 2025
@MEPalma MEPalma requested a review from simonrw as a code owner June 2, 2025 13:03
Copy link

github-actions bot commented Jun 2, 2025

Test Results - Preflight, Unit

21 593 tests  ±0   19 938 ✅ ±0   6m 16s ⏱️ +8s
     1 suites ±0    1 655 💤 ±0 
     1 files   ±0        0 ❌ ±0 

Results for commit 1efeb73. ± Comparison against base commit a1684d28.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 2, 2025

Test Results (amd64) - Acceptance

7 tests  ±0   5 ✅ ±0   3m 14s ⏱️ +6s
1 suites ±0   2 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit 1efeb73. ± Comparison against base commit a1684d28.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 2, 2025

Test Results - Alternative Providers

983 tests   554 ✅  23m 2s ⏱️
  4 suites  429 💤
  4 files      0 ❌

Results for commit 1efeb73.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 2, 2025

LocalStack Community integration with Pro

  2 files  ±    0    2 suites  ±0   21m 8s ⏱️ - 1h 22m 15s
882 tests  - 3 970  319 ✅  - 3 767  563 💤  - 203  0 ❌ ±0 
884 runs   - 3 970  319 ✅  - 3 767  565 💤  - 203  0 ❌ ±0 

Results for commit 1efeb73. ± Comparison against base commit a1684d28.

This pull request removes 3976 and adds 6 tests. Note that renamed tests count towards both.
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_lambda_dynamodb
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_opensearch_crud
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_search_books
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_setup
tests.aws.scenario.kinesis_firehose.test_kinesis_firehose.TestKinesisFirehoseScenario ‑ test_kinesis_firehose_s3
tests.aws.scenario.lambda_destination.test_lambda_destination_scenario.TestLambdaDestinationScenario ‑ test_destination_sns
tests.aws.scenario.lambda_destination.test_lambda_destination_scenario.TestLambdaDestinationScenario ‑ test_infra
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_prefill_dynamodb_table
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input0-SUCCEEDED]
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input1-SUCCEEDED]
…
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_add_to_static_property
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_change_delimiter
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_change_source_string_only
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_remove_from_static_property
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_with_get_att
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_with_ref_as_string_source
This pull request removes 209 skipped tests and adds 6 skipped tests. Note that renamed tests count towards both.
tests.aws.scenario.kinesis_firehose.test_kinesis_firehose.TestKinesisFirehoseScenario ‑ test_kinesis_firehose_s3
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input4-FAILED]
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_deployed_infra_state
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_populate_data
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_user_clicks_are_stored
tests.aws.services.apigateway.test_apigateway_api.TestApiGatewayApiRestApi ‑ test_get_api_case_insensitive
tests.aws.services.apigateway.test_apigateway_api.TestApigatewayIntegration ‑ test_put_integration_request_parameter_bool_type
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_authorizer_crud
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_http_integration_with_path_request_parameter
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_lambda_proxy_integration[/lambda/foo1]
…
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_add_to_static_property
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_change_delimiter
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_change_source_string_only
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_remove_from_static_property
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_with_get_att
tests.aws.services.cloudformation.v2.test_change_set_fn_split.TestChangeSetFnSplit ‑ test_fn_split_with_ref_as_string_source

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Jun 2, 2025

Test Results (amd64) - Integration, Bootstrap

    5 files      5 suites   2h 23m 31s ⏱️
5 213 tests 4 288 ✅ 925 💤 0 ❌
5 219 runs  4 288 ✅ 931 💤 0 ❌

Results for commit 1efeb73.

♻️ This comment has been updated with latest results.

Base automatically changed from MEP-CFN-fn_select to master June 2, 2025 16:22
Copy link
Contributor

@simonrw simonrw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice stuff!

@markers.snapshot.skip_snapshot_verify(
paths=[
# Reason: AWS incorrectly does not list the second and third topic as
# needing modifying, however it needs to
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😂

@@ -123,7 +123,6 @@ def test_base64_sub_and_getatt_functions(self, deploy_cfn_template):
converted_string = base64.b64encode(bytes(original_string, "utf-8")).decode("utf-8")
assert converted_string == deployed.outputs["Encoded"]

@pytest.mark.skip(reason="CFNV2:Fn::Split")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@@ -46,7 +46,7 @@ def _is_executed():
assert "hello from statemachine" in execution_desc["output"]


@pytest.mark.skip(reason="CFNV2:Fn::Split")
@pytest.mark.skip(reason="CFNV2:Other")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: could you maybe add some details on what the error is now?

@MEPalma MEPalma merged commit 6d23766 into master Jun 3, 2025
12 of 13 checks passed
@MEPalma MEPalma deleted the MEP-CFN-fn_split branch June 3, 2025 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants