Skip to content
This repository has been archived by the owner on Jun 22, 2024. It is now read-only.

Latest upstream trunk cross platform #56

Draft
wants to merge 3 commits into
base: trunk
Choose a base branch
from

Conversation

fhoeben
Copy link

@fhoeben fhoeben commented Dec 14, 2023

As discussed in #54 a draft to show how far I got building cross platform images on Ubuntu (Ubuntu also offers arm64 images).

I replaced chrome with chromium from Debian (Ubuntu's packages are based on 'snap')
Firefox I get from the 'team mozilla' package repository (Ubuntu's own packages are based on 'snap')

I updated the GitHub action to build/test on both platforms (and removed other actions for now, as I was not interested in those yet). The arm64 test fails for this action, but passes locally on my M1 Mac. I think the issue on GitHub is the emulation that is just TOO slow, but as far as I can tell the actual images work.

I did not get fixed browser versions yet, but that should be doable by supplying a version to their apt-get commands.

Far from finished, but the changes from the base selenium image are also quite small which might make this path easier to get to work (and maintain in the future).
The PR looks big, but compared to upstream trunk it is not so big (ignoring the GitHub actions removed for now): fhoeben@a71ea88#diff-c7235ebbda8248c044e6b13da481ae97f4a21846ed2341a056b6b873abaa482b

Thanks for contributing to the Docker-Selenium project!
A PR well described will help maintainers to quickly review and merge it

Before submitting your PR, please check our contributing guidelines, applied for this repository.
Avoid large PRs, help reviewers by making them as simple and short as possible.

Description

Motivation and Context

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@jamesmortensen
Copy link

Hi. I think it will help if you can include the circleci configuration. You can refer to https://github.com/seleniumhq-community/docker-seleniarm/tree/ubuntu-base branch in order to see what I've done so far on converting to Ubuntu for the ARM images.

You may also want to keep NodeChrome and NodeChromium as separate images because at the end of the day, they're different browsers, and most people on AMD/Intel hardware will want to test on Google Chrome.

Also, just in case you aren't aware, you can see the build process happening here: https://app.circleci.com/pipelines/github/seleniumhq-community/docker-seleniarm

The builds have to be run on CircleCI because it's faster to build ARM images on ARM hardware, and GitHub Actions doesn't support ARM runners natively (to the best of my knowledge).

@fhoeben
Copy link
Author

fhoeben commented Dec 17, 2023

@jamesmortensen I created SeleniumHQ#2070 to get chromium image in Selenium's process. That should make it easier to maintain the chromium based images here since the only focus would become arm64 support, instead of also adding 2 node images for chromium

@diemol
Copy link
Member

diemol commented Mar 26, 2024

I believe we can close this one.

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

Successfully merging this pull request may close these issues.

3 participants