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

[Package Request] - chromium and chromedriver #356

Open
Joe-Zer0 opened this issue May 23, 2023 · 13 comments
Open

[Package Request] - chromium and chromedriver #356

Joe-Zer0 opened this issue May 23, 2023 · 13 comments
Labels
enhancement New feature or request epel Package request for one that was in EPEL gui Graphical User Interface packages Package request

Comments

@Joe-Zer0
Copy link

What package is missing from Amazon Linux 2023? Please describe and include package name.
Please make the "chromium" package available in Amazon Linux 2023. We use headless chromium to run unit tests on typescript.

Is this an update to existing package or new package request?
This is not currently available in Amazon Linux 2023.

Is this package available in Amazon Linux 2? If it is available via external sources such as EPEL, please specify.
This is an EPEL package available in Amazon Linux 2.

Any additional information you'd like to include. (use-cases, etc)
I am currently using the amazonlinux:2023 docker image. Thanks for your consideration!

@nmeyerhans nmeyerhans added the packages Package request label May 25, 2023
@chriscarruthers
Copy link

I have the same need. Would like to switch to AL2023 but need chromium and chromedriver... this is the last roadblock.

@Krong1997
Copy link

I have the same need

@isaalx
Copy link

isaalx commented Jun 20, 2023

I was able to run chromium after installing this:
dnf install atk at-spi2-atk cairo pango libdrm libxkbcommon cups-libs mesa-libgbm libXrandr libXcomposite libXdamage libXfixes alsa-lib

@chriscarruthers
Copy link

I was able to run chromium after installing this:
dnf install atk at-spi2-atk cairo pango libdrm libxkbcommon cups-libs mesa-libgbm libXrandr libXcomposite libXdamage libXfixes alsa-lib

Do you mean you compiled chromium from source then? Or did you get an RPM for it from somewhere? Either way we still really need it to be included in the repo.

@isaalx
Copy link

isaalx commented Jun 26, 2023

I was able to run chromium after installing this:
dnf install atk at-spi2-atk cairo pango libdrm libxkbcommon cups-libs mesa-libgbm libXrandr libXcomposite libXdamage libXfixes alsa-lib

Do you mean you compiled chromium from source then? Or did you get an RPM for it from somewhere? Either way we still really need it to be included in the repo.

I forgot to say it was a workaround for dependencies, I was running chromium for unit testing using https://playwright.dev/

I hope this could help someone needing a quick workaround 😄

@trivikr
Copy link

trivikr commented Aug 14, 2023

I created a discussion on recommended way to install Chromium at #417

@Joe-Zer0
Copy link
Author

@trivikr - That is installing Chrome, not Chromium. Here is our current install method for Chrome. If using for Angular testing, make sure to set CHROME_BIN so that Karma can find it.

RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm && \
yum install ./google-chrome-stable_current_x86_64.rpm -y

ENV CHROME_BIN=/usr/bin/google-chrome-stable

@hansemannn
Copy link

I would love to see an .ebextensions script which makes it easier to maintain the dependency when terminating / redeploying an instance. Not sure if thats even possible 🤓

@formobi
Copy link

formobi commented Sep 19, 2023

We need chromium headless aarch64 to be used with puppeteer.

@matejsp
Copy link

matejsp commented Sep 19, 2023

Well the problem with chrome and firefox is that both do not provide aarch64 builds for linux.

https://googlechromelabs.github.io/chrome-for-testing/
https://www.mozilla.org/en-GB/firefox/all/#product-desktop-release

Bugs:
https://bugzilla.mozilla.org/show_bug.cgi?id=1646462
https://bugs.chromium.org/p/chromium/issues/detail?id=677140

IMHO we need upstream support and not rely on aws to be in sync with regular monthly releases.

But would love some compatible spec (srpm) file to build rpm ourselves.

@stewartsmith stewartsmith added enhancement New feature or request epel Package request for one that was in EPEL gui Graphical User Interface labels Sep 22, 2023
@zavital
Copy link

zavital commented Jan 15, 2024

I would love to see an .ebextensions script which makes it easier to maintain the dependency when terminating / redeploying an instance. Not sure if thats even possible 🤓

this worked for me

commands:
01_install_chrome:
command: sudo -- sh -c 'yum install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm'

@finalfantasia
Copy link

finalfantasia commented Jan 18, 2024

The following is what I did to have Chrome for Testing, Google's recommended builds of Chrome and CheomeDriver for testing, working on an EC2 instance running Amazon Linux 2023. I hope this helps:

With Node.js

# A hacky way to install all the package dependencies required by Chrome for Testing.
# See: https://github.com/GoogleChromeLabs/chrome-for-testing/issues/55
sudo dnf install --assumeyes --quiet findutils
sudo dnf deplist https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm | \
  grep provider | \
  sort --unique | \
  awk '{print $2}' | \
  xargs sudo dnf install --best --allowerasing --skip-broken --assumeyes --quiet > /dev/null 2>&1

npx --yes @puppeteer/browsers install chrome@stable | \
  awk '{print $2}' | \
  xargs -I {} sudo ln --symbolic {} /usr/local/bin/chrome

npx --yes @puppeteer/browsers install chromedriver@stable | \
  awk '{print $2}' | \
  xargs -I {} sudo install --owner=root --group=root --mode=+x {} /usr/local/bin/chromedriver

Without Node.js

# A hacky way to install all the package dependencies required for Chrome for Testing.
# See: https://github.com/GoogleChromeLabs/chrome-for-testing/issues/55
sudo dnf install --assumeyes --quiet findutils jq unzip
sudo dnf deplist https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm | \
  grep provider | \
  sort --unique | \
  awk '{print $2}' | \
  xargs sudo dnf install --best --allowerasing --skip-broken --assumeyes --quiet > /dev/null 2>&1

CHROME_FOR_TESTING_RELEASE="$(curl --silent https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json | jq '.channels.Stable')"

CHROME_DOWNLOAD_URL="$(echo ""${CHROME_FOR_TESTING_RELEASE}"" | jq -r '.downloads.chrome[] | select(.platform == "linux64") | .url')"
curl --remote-name --silent "${CHROME_DOWNLOAD_URL}"
unzip -q chrome-linux64.zip
sudo ln --symbolic "${PWD}/chrome-linux64/chrome" /usr/local/bin/chrome

CHROMEDRIVER_DOWNLOAD_URL="$(echo ""${CHROME_FOR_TESTING_RELEASE}"" | jq -r '.downloads.chromedriver[] | select(.platform == "linux64") | .url')"
curl --remote-name --silent "${CHROMEDRIVER_DOWNLOAD_URL}"
unzip -q chromedriver-linux64.zip
sudo install --owner=root --group=root --mode=+x "${PWD}/chromedriver-linux64/chromedriver" /usr/local/bin/chromedriver

@stewartsmith stewartsmith changed the title [Package Request] - chromium [Package Request] - chromium and chromedriver May 15, 2024
@stewartsmith
Copy link
Member

As per #543 - there is a request also for chromedriver. I've edited the title of this issue accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request epel Package request for one that was in EPEL gui Graphical User Interface packages Package request
Projects
None yet
Development

No branches or pull requests