Closed Bug 1779386 Opened 3 years ago Closed 2 years ago

Build geckodriver for aarch64 on Linux

Categories

(Testing :: geckodriver, enhancement, P3)

Default
ARM64
Linux
enhancement

Tracking

(firefox106 fixed)

RESOLVED FIXED
106 Branch
Tracking Status
firefox106 --- fixed

People

(Reporter: whimboo, Assigned: glandium)

References

()

Details

Attachments

(1 file)

Originally filed as https://github.com/mozilla/geckodriver/issues/1956

Similar to bug 1534461 which is for Windows we should consider building geckodriver for linux aarch64.

As for now @jamesmortensen has setup an unofficial repository for such binaries and that can be found at:

https://github.com/jamesmortensen/geckodriver-arm-binaries/releases/

Given the GitHub statistics there are (only) 217 downloads for the 0.31.0 release:
https://hanadigital.github.io/grev/?user=jamesmortensen&repo=geckodriver-arm-binaries

Hi @whimboo. Thank you for creating this issue in Bugzilla. I want to add that the arm64 and armv7l geckodriver is used in both of the Selenium docker images seleniarm/standalone-firefox and seleniarm/node-firefox. Here are links to the stats for these images:

https://hub.docker.com/v2/repositories/seleniarm/standalone-firefox/

  • 43,355 total pulls since Feb 15, 2021

https://hub.docker.com/v2/repositories/seleniarm/node-firefox/

  • 2,138 total pulls since Feb 15th, 2021

Most of the downloads from geckodriver-arm-binaries may be from us building these docker container images, which are then downloaded via Docker Hub by Mac M1 and Raspberry Pi users, or those using an arm-based CI platform.

Hope this information is helpful.

I want to add that, before the creation on geckodriver-arm-binaries, we either built geckodriver along with the image build process, which made it harder for users to build the images on their own, or we hacked a copy out of an Ubuntu deb package, which relied on an Ubuntu maintainer keeping arm geckodriver up to date. Hope this helps.

Thank you for providing these stats! We will discuss in one of our next meetings in how to proceed. But it also shows that we most likely only want to support the aarch64 binary as the bug got filed for.

Priority: P5 → --

Hi Mike, do you think that it will be easy to extend our current geckodriver toolchain task to also generate signed geckodriver binaries for Linux aarch64? Thanks.

Flags: needinfo?(mh+mozilla)
Priority: -- → P3

Should I open a separate bug for armhf/armv7? People request that platform as well so they can run Selenium Grid on Raspberry Pi. This would completely eliminate the need for https://github.com/jamesmortensen/geckodriver-arm-binaries when building docker-seleniarm. https://github.com/seleniumhq-community/docker-seleniarm

All most recent Raspberry Pi devices including the Zero 2 support the aarch64 architecture. As such the usage of the 32bit Raspberry OS should decrease and we do not see a reason at the moment to support that. But also users might want to get the aarch64 binaries (docker image) because more and more of them are migrating to Apple M1 machines. But those are running the aarch64 architecture as well.

In regards of generating a docker image cargo install geckodriver can be used. And yes we are aware that this requires extra steps to setup the Rust toolchain and probably remove it afterward again.

Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED

@jmort253 could you please check if the following build works for you on an aarch64 device?

https://treeherder.mozilla.org/jobs?repo=try&revision=c8ab7c89b22fa372f5e0762b0267cb54f5c40b50&selectedTaskRun=DTtanCaxRZ2ILW93X4MIBQ.0

Thanks!

Flags: needinfo?(mh+mozilla) → needinfo?(jmort253)

I've tried to run the referenced binary on my own Raspberry PI 4 and it works fine.

Flags: needinfo?(jmort253)
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/cf5737e72837 Build geckodriver for aarch64 on Linux. r=whimboo

@whimboo it passes our Selenium smoke tests. So far so good.

Will you be publishing the aarch64 one in the mozilla/geckodriver repo for 0.31.0 or will it happen for the next version only?

Thank you!

Great to hear that! Yes, you will have to wait for the next geckodriver release, but this might happen soon.

Blocks: 1750691
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch

@whimboo is it safe to use the treeherder link in production, or should we wait for 0.32.0? Thank you.

(In reply to jmort253 from comment #15)

@whimboo is it safe to use the treeherder link in production, or should we wait for 0.32.0? Thank you.

Please wait for the official release of geckodriver 0.32.0, but feel free to use the nightly build in your own environment.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: