Skip to content

StepFunctions: Fix Parsing of Version Tokens as Soft Keywords #12190

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 27, 2025

Conversation

MEPalma
Copy link
Contributor

@MEPalma MEPalma commented Jan 27, 2025

Motivation

This PR resolves an issue where the StepFunctions parser treated the Version token as a hard keyword across the entire state machine definition. As a result, users were unable to declare payload template bindings using a field named Version #12186.

Changes

  • The parser now recognizes "Version" as a soft keyword only when used in a top-level version declaration. In all other contexts (e.g., within state definitions or payload templates), Version behaves like a normal field name.
  • Added and updated snapshot tests to verify that the Version keyword can be used in payload templates. We already have snapshot tests to verify the use of Version as a top layer declaration.

@MEPalma MEPalma added the semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases label Jan 27, 2025
@MEPalma MEPalma added this to the 4.1 milestone Jan 27, 2025
@MEPalma MEPalma self-assigned this Jan 27, 2025
Copy link

LocalStack Community integration with Pro

    2 files  ±    0      2 suites  ±0   33m 32s ⏱️ - 1h 16m 58s
1 418 tests  - 2 604  1 347 ✅  - 2 359  71 💤  - 245  0 ❌ ±0 
1 420 runs   - 2 604  1 347 ✅  - 2 359  73 💤  - 245  0 ❌ ±0 

Results for commit 3c523a1. ± Comparison against base commit 1790318.

This pull request removes 2604 tests.
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]
…

Copy link
Contributor

@gregfurman gregfurman left a comment

Choose a reason for hiding this comment

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

LGTM!

@MEPalma MEPalma merged commit b0627a1 into master Jan 27, 2025
36 checks passed
@MEPalma MEPalma deleted the MEP-sfn-fix_version_softkeyword branch January 27, 2025 09:55
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