Skip to content

Test server for linux_arm64 target #1783

@wojked

Description

@wojked

I have a M1/M2 Mac and run my apps in docker containers.

When developing in python on my mac directly, tests automatically download the temporal-test-server by hitting this endpoint first:
https://temporal.download/temporal-test-server/default?arch=arm64&platform=darwin&sdk-name=sdk-python&sdk-version=1.2.0

that returns the following content
{"archiveUrl":"https://temporal.download/assets/temporalio/sdk-java/releases/download/v1.17.0/temporal-test-server_1.17.0_macOS_amd64.tar.gz","fileToExtract":"temporal-test-server_1.17.0_macOS_amd64/temporal-test-server"}

I am able to run tests "directly" on my local machine with pytest

But when I try to test my app inside of a docker container that uses linux arm64 it fails because of two reasons:

  • RuntimeError: Failed starting test server: Permission denied (os error 13) if just run pytest
  • or qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory if I provide pointer to a manually downloaded amd64 binary

This leads me to a quite obvious conclusion, that amd64 test server is not going to run within arm64.

I am unable to run temporal tests in docker on M1/M2 Macs

Describe the solution you'd like
Could you provide builds for linux_arm64 target? This way tests would execute within a dockerised arm64 linux.

Describe alternatives you've considered

  • I could use WorkflowEnvironment.start_local() instead of WorkflowEnvironment.start_time_skipping()
  • I could skip tests in docker, but is far from perfect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions