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

Native binary for Linux ARM #225

Closed
Gandhi11 opened this issue Feb 20, 2023 · 7 comments
Closed

Native binary for Linux ARM #225

Gandhi11 opened this issue Feb 20, 2023 · 7 comments

Comments

@Gandhi11
Copy link

Hi,

Currently testcafe is unable to take screenshot on Linux ARM.

Uncaught exception:

         NativeBinaryHasFailedError: The /home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe-browser-tools/bin/linux/glibc-32/generate-thumbnail process failed with the 2 exit code.
         at Object.execFile (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe-browser-tools/src/utils/exec.js:138:15)
         at default_1 (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe-browser-tools/src/api/generate-thumbnail.js:37:5)
         at /home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe/src/screenshots/capturer.js:187:17
         at Capturer._capture (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe/src/screenshots/capturer.js:144:9)
         at Capturer.captureAction (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe/src/screenshots/capturer.js:212:16)
         at BrowserManipulationQueue._executeCommand (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe/src/test-run/browser-manipulation-queue.js:61:24)
         at BrowserManipulationQueue.executePendingManipulation (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe/src/test-run/browser-manipulation-queue.js:102:24)
         at TestRun.ready-for-browser-manipulation (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe/src/test-run/index.ts:1657:22)
         at TestRun.handleServiceMessage (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe-hammerhead/lib/session/index.js:62:20)
         at Proxy._onServiceMessage (/home/jenkins/workspace/feature_migrate-dusk-to-testcafe/node_modules/testcafe-hammerhead/lib/proxy/index.js:144:32)

         Browser: Chrome 109.0.5414.119 / Linux 0.0
    

Here is the output of uname -a

Linux localhost 5.15.0-1030-aws #34~20.04.1-Ubuntu SMP Tue Jan 24 15:16:39 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

Would it be possible to add Linux ARM binary?

I can help with testing if needed.
Thanks

@Dmitry-Ostashev
Copy link
Contributor

Hello,

Could you please clarify what device you use for running TestCafe tests? Is it Raspberry Pi or something like that?

We do not plan full support for Arm64. However, we may consider it in the future.

@pgrenaud
Copy link

@Dmitry-Ostashev: The device that @Gandhi11 is using is one of the AWS Graviton instances as we can deduct with the 5.15.0-1030-aws kernel version. AWS now offer a very wide variety of ARM based instances, that are more powerful and cheaper that the Intel based equivalent instances.

Running those instances is very common now (at least for our organisation) and pretty much everything is now built for ARM64 (aarch64 architecture). Starting with the Ubuntu repositories, but also many third party repositories like NodeSource (Node.js), Ondrej (PHP), Docker, Elasticsearch, Influxdb (Telegraf), etc. to name a few. They all build for the ARM platform today.

I think it would be great if TestCafe could also support the ARM platform and would appreciate if you could add it to your roadmap!

See more here https://aws.amazon.com/ec2/graviton/ and here https://aws.amazon.com/ec2/instance-types/.

@miherlosev
Copy link
Contributor

Hi @pgrenaud,

Thank you for sharing this information. At present, we don't see much interest in this capacity from the TestCafe community. Unfortunately, we cannot commit to its development. If it is very important for you, feel free to share your PR.

Copy link

This issue has been automatically marked as stale because it has not had any activity for a long period. It will be closed and archived if no further activity occurs. However, we may return to this issue in the future. If it still affects you or you have any additional information regarding it, please leave a comment and we will keep it open.

Copy link

We're closing this issue after a prolonged period of inactivity. If it still affects you, please add a comment to this issue with up-to-date information. Thank you.

@RInverid
Copy link

RInverid commented Jun 4, 2024

Hi @miherlosev , we are also experiencing this issue. for unrelated reasons we were unable to update testcafe for a long time, and are now doing a big jump from 1.18.0 to 3.6.0.

However, most of our developers run on Mac M# devices, which are ARM devices. Running native this works just fine, but when running our entire test suite we use docker, which is linux, which causes us to run into this issue.

Please reconsider working on this ticket, I think this will be a more common issue as the world slowly moves to ARM (see the new Snapdragon X Series, which is the start of a big windows on ARM push as well)

<note for anyone else having this issue: for now we are looking into working around the issue by building our Docker image with --platform linux/amd64 and running with Rosetta 2>

@Bayheck
Copy link
Contributor

Bayheck commented Jun 5, 2024

Thank you for sharing this information.

Unfortunately, we cannot take this enhancement into work because at present we are fully focused on other tasks. We may reconsider the priority of this task in the future if we get enough requests for it. If it is very important for your project, feel free to share your PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants