Skip to content
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

[Bug] Test server for ARM64 not available (404) #716

Open
st3fan opened this issue Dec 24, 2024 · 3 comments
Open

[Bug] Test server for ARM64 not available (404) #716

st3fan opened this issue Dec 24, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@st3fan
Copy link

st3fan commented Dec 24, 2024

On a Ubuntu 24.04 ARM64 host I am trying to run the unit test from https://github.com/temporalio/edu-102-python-code/blob/main/exercises/testing-code/solution/tests/test_workflow.py

It fails with RuntimeError: Failed starting test server: HTTP status client error (404 Not Found) for url (https://temporal.download/temporal-test-server/default?arch=arm64&platform=linux&sdk-name=sdk-python&sdk-version=1.8.0) which looks like it is trying to download a version of the test server that does not exist.

The full output of the failing test is as follows:

runtime = <temporalio.bridge.runtime.Runtime object at 0xfc783c4bccb0>
config = TestServerConfig(existing_path=None, sdk_name='sdk-python', sdk_version='1.8.0', download_version='default', download_dest_dir=None, port=None, extra_args=[])

    @staticmethod
    async def start_test_server(
        runtime: temporalio.bridge.runtime.Runtime, config: TestServerConfig
    ) -> EphemeralServer:
        """Start a test server instance."""
        return EphemeralServer(
>           await temporalio.bridge.temporal_sdk_bridge.start_test_server(
                runtime._ref, config
            )
        )
E       RuntimeError: Failed starting test server: HTTP status client error (404 Not Found) for url (https://temporal.download/temporal-test-server/default?arch=arm64&platform=linux&sdk-name=sdk-python&sdk-version=1.8.0)

.venv/lib/python3.12/site-packages/temporalio/bridge/testing.py:67: RuntimeError
=================================================== short test summary info ===================================================
FAILED workflows_test.py::test_greet_workflow - RuntimeError: Failed starting test server: HTTP status client error (404 Not Found) for url (https://temporal.download/tem...
@st3fan st3fan added the bug Something isn't working label Dec 24, 2024
@st3fan
Copy link
Author

st3fan commented Dec 24, 2024

I noticed that I am one SDK release behind, but changing the version number in the URL from 1.8.0 to 1.9.0 still results in a 404.

@st3fan
Copy link
Author

st3fan commented Dec 24, 2024

I tried WorkflowEnvironment.start_time_skipping(test_server_existing_path="/usr/local/bin/temporal") but I think it expects a different kind of server as that will fail with unknown command errors from temporal.

@cretz
Copy link
Member

cretz commented Jan 6, 2025

This is a known limitation with the time-skipping test server. Currently the time-skipping test server does not work on ARM. From the README at https://github.com/temporalio/sdk-python?tab=readme-ov-file#testing (added at #379):

NOTE: The time-skipping test environment does not work on ARM. The SDK will try to download the x64 binary on macOS for use with the Intel emulator, but for Linux or Windows ARM there is no proper time-skipping test server at this time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants