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

Chrome installation proposal #345

Open
vrunoa opened this issue Sep 12, 2019 · 4 comments
Open

Chrome installation proposal #345

vrunoa opened this issue Sep 12, 2019 · 4 comments

Comments

@vrunoa
Copy link

vrunoa commented Sep 12, 2019

Hey guys, I started using this image and I notice that when installing chrome it's always set to install latest stable meaning what stable at the moment.
https://github.com/elgalu/docker-selenium/blob/master/Dockerfile#L657-L663
But that doesnt seem to be the flow for Firefox
https://github.com/elgalu/docker-selenium/blob/master/Dockerfile#L657-L663

The issue(not a huge issue) is repeatability, I actually wanted to build an old version using an old tag but chrome was always the latest, so I started playing a bit and got the container to install old versions.
master...vrunoa:use-older-chrome

I know we can always rely on docker/hub but if for some reason docker is down or some other issue people wont be able to easily go back.

So my question is: would you guys consider a PR were we change the way we install chrome to be more specific and not install the latest stable at an specific point in time?

@elgalu
Copy link
Owner

elgalu commented Sep 13, 2019

Hi! thanks for raising this!

We tried that approach a few years ago but noticed that Google is not keeping old versions of Chrome, they seem to wipe them out after a few versions, e.g.

EXPECTED_CHROME_VERSION="67.0.3396.79"
CHROME_EXEC="http://dl.google.com/linux/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${EXPECTED_CHROME_VERSION}-1_amd64.deb"
wget -nv "${CHROME_EXEC}"

#=> 2019-09-13 12:18:06 ERROR 404: Not Found.

So you can't really achieve repeatability with this approach, at least not for more than a few versions in the past.

Because Google is deleting old Chrome versions we decided to automatically store them in GitHub releases (thank you GitHub <3) e.g.

https://github.com/elgalu/docker-selenium/releases/download/3.12.0-p4/google-chrome-stable_67.0.3396.79_amd64.deb

But even so your approach is probably better, let's see what @diemol thinks.

@diemol
Copy link
Collaborator

diemol commented Sep 25, 2019

Exactly what @elgalu says, the approach works for Firefox because it is possible to go back and fetch any past version, which is not possible with Chrome. Then, sadly, repeatability is not going to happen.

One way to tackle this would be to get all the Chrome versions we have stored in the releases, put them in some repository (or figure out how to find them through the GitHub API), and then use them for the docker build process... That approach would actually lead us to have some sort of repeatability. It just seems like a lot of work 😄

@vrunoa
Copy link
Author

vrunoa commented Oct 29, 2019

Thanks for the comments, sorry for the really late reply. What do you guys think about trying to download the specific version on the container but if it fails, download the latest stable? Like a fallback, with a warning explaining the issue? Too messy?

@elgalu
Copy link
Owner

elgalu commented Nov 5, 2019

not so much in favor of that conditional, it makes it kind of unpredictable again and the warning will be ignored by most:)

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

No branches or pull requests

3 participants