Skip to content

Conversation

@samuel27m
Copy link
Member

Description

⚠️ Breaking change, requires iWF server version >= 1.18.0
SDK expects stateWaitUntilFailed flag instead stateStartApiSucceeded

Checklist

  • Code compiles correctly
  • Tests for the changes have been added
  • All tests passing
  • This PR change is backwards-compatible
  • This PR CONTAINS a (planned) breaking change (it is NOT backwards-compatible)

Related Issue

Addressing, but not yet closing indeedeng/iwf#520, as we still need:

  • Add changes for all SDKs
  • Clean up old server fields (i.e. remove stateStartApiSucceeded field)

@samuel27m samuel27m requested a review from a team June 13, 2025 17:45
@@ -0,0 +1,23 @@
#! /usr/bin/env bash

gsed -i'' \
Copy link
Member Author

Choose a reason for hiding this comment

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

@N-give I did have to use gsed in the end here. The output of the script locally was different than the one in the CI, gsed fixes that: https://github.com/indeedeng/iwf-python-sdk/actions/runs/15640692181/job/44067031610

I'll create a quick PR to update it in the samples repo too

Copy link
Contributor

Choose a reason for hiding this comment

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

I can't follow the functions so I used LLM to explain them

could you add a comment at the top of the file to explain why we need it and what it is doing?

Copy link
Member Author

Choose a reason for hiding this comment

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

Added now:

# This script ensures that the poetry.lock file does not contain references to the internal Indeed Nexus PyPI repository.
# It is used as a git hook to automatically remove the [package.source] section for Nexus from poetry.lock.
# This is necessary to ensure the lock file is portable and open-source friendly.
# The script uses gsed to remove the Nexus source block and any resulting empty lines, then checks if any changes were made.
# If Nexus references are found and removed, the script exits with 1 to prevent the commit, so we can stage the changes made by the script before committing again.

timer_commands: list[TimerCommandResult]
internal_channel_commands: list[InternalChannelCommandResult]
signal_channel_commands: list[SignalChannelCommandResult]
wait_until_api_succeeded: Optional[bool] = None
Copy link
Member Author

@samuel27m samuel27m Jun 13, 2025

Choose a reason for hiding this comment

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

I added this to match the properties in the CommandResults class in Java SDK: https://github.com/indeedeng/iwf-java-sdk/blob/main/src/main/java/io/iworkflow/core/command/CommandResults.java#L17-L23

And to be able to also implement the same exact logic using wait_until_api_succeeded

@samuel27m samuel27m merged commit 53858c3 into main Jun 17, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants