CircleCI-Public / browser-tools-orb

Quickly and easily install common browsers and browser testing tools on CircleCI
https://circleci.com/developer/orbs/orb/circleci/browser-tools
MIT License
23 stars 34 forks source link

Chrome Version field is not working on macOS builds #93

Closed e-grapp closed 1 year ago

e-grapp commented 1 year ago

Orb version

1.4.4

What happened

When declaring no version, a release that is not available gets downloaded (116.0.5845.140) image

When declaring a version, it still downloads the aforementioned version

Snippet from Config:

- browser-tools/install-chrome:
    chrome-version: 116.0.5845.96
    replace-existing: true
- browser-tools/install-chromedriver

Response:

System detected as MacOS
Installed version of Google Chrome is 116.0.5845.140 
ChromeDriver 116.0.5845.140 will be installed
116.0.5845.140 will be installed
curl: (22) The requested URL returned error: 404

Exited with code exit status 22

This occurs on a variety of Xcode images and on both M1/Intel Execution environments.

Expected behavior

The version defined in the chrome-version parameter is the one that is installed at runtime when using the orb command rather than the latest stable release.

alanjclark commented 1 year ago

It looks like this is more related to messaging in the orb. The version of ChromeDriver in question has not yet been published by Google:

https://chromedriver.chromium.org/downloads

hoylemd commented 1 year ago

As a temporary workaround, you could try

    - browser-tools/install-browser-tools:
        chrome-version: 116.0.5845.96 

instead of installing chrome and chromedriver individually

this will also install firefox and geckodriver which will slow your builds a little, but thats the workaround that worked for my team. Some other users in #90 have also reported that they need a sudo apt-get update step before that to get it working in their builds.

ryanbourdais commented 1 year ago

For everyone tracking this issue, orb version v1.4.5 has now been published and now features a fallback to prevent this issue from occuring