feat: publish emulator image directly from testing library#196
feat: publish emulator image directly from testing library#196
Conversation
|
🤖 Emulator PR Created A draft PR has been created with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 The emulator will build binaries using the exact testing SDK commit locked in uv.lock. |
|
🔄 Emulator PR Updated The emulator PR has been updated with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 |
|
🔄 Emulator PR Updated The emulator PR has been updated with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 |
|
🔄 Emulator PR Updated The emulator PR has been updated with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 |
|
🔄 Emulator PR Updated The emulator PR has been updated with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 |
|
🔄 Emulator PR Updated The emulator PR has been updated with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 |
|
🔄 Emulator PR Updated The emulator PR has been updated with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 |
|
🔄 Emulator PR Updated The emulator PR has been updated with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 |
|
🔄 Emulator PR Updated The emulator PR has been updated with locked dependencies: ➡️ https://github.com/aws/aws-durable-execution-emulator/pull/401 |
emulator/pyproject.toml
Outdated
| "aws-durable-execution-sdk-python-testing~=1.1.1", | ||
| "aws_durable_execution_sdk_python~=1.3.0", |
There was a problem hiding this comment.
We need to update these for each release made to the testing library so that we know exactly what versions of the sdk we are using.
|
suggestion: could simplify by putting emulator under the src, so that the source lives here:
this then goes into the pyproject.toml in root: however, all of that said, does the emulator server + factory + config actually add anything that the existing cli code doesn't already do? so, you can start the local runner like this, and I think this is equivalent, or am I missing something: Alternatively, these $envs - these are not the same as in emulator config though, which just has These emulator entries do not look like they're used outside of the emulator itself, though, because https://github.com/aws/aws-sam-cli/blob/f466a449eb5137dafa002b68e97ed0b03a8feafa/samcli/local/docker/durable_functions_emulator_container.py#L39-L75 Port: User can override via DURABLE_EXECUTIONS_EMULATOR_PORT env var The Dockerfile would then look something like this: The version number of the emulator container then becomes the SAME as the testing lib version number: in summary: you could simplify this by getting rid of emulator directory entirely and just injecting the appropriate args via the Dockerfile. |
Issue #, if available:
Description of changes: Create emulator image from the python testing library. For each release, we should update the version in the pyproject.poml file in the emulator folder. The image tag will be the aws-durable-sdk-python-testing version with v prefixing it, e.g. v1.1.1.
Dependencies
If this PR requires testing against a specific branch of the Python Language SDK (e.g., for unreleased changes), uncomment and specify the branch below. Otherwise, leave commented to use the main branch.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.