Skip to content

fix: pull CfT version from official JSON endpoint#165

Merged
david-montano-circleci merged 1 commit intoCircleCI-Public:mainfrom
MikeMcC399:cft-json-endpoint
Mar 31, 2026
Merged

fix: pull CfT version from official JSON endpoint#165
david-montano-circleci merged 1 commit intoCircleCI-Public:mainfrom
MikeMcC399:cft-json-endpoint

Conversation

@MikeMcC399
Copy link
Copy Markdown
Contributor

@MikeMcC399 MikeMcC399 commented Mar 28, 2026

Checklist

  • [na] All new jobs, commands, executors, parameters have descriptions
  • [na] Examples have been added for any significant new features
  • [na] README has been updated, if necessary

Motivation, issues

The src/scripts/install_chrome_for_testing.sh is using the stable version for "Chrome" instead of the stable version for "Chrome for Testing". It is wrong to use the "Chrome" version. It cannot be guaranteed to work for "Chrome for Testing"!

src/scripts/install_chrome_for_testing.sh is failing to install the current default latest of Chrome for Testing for Linux.

It is fetching the version from https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Linux which currently returns the version:

146.0.7680.164

The script then downloads from:

https://storage.googleapis.com/chrome-for-testing-public/146.0.7680.164/linux64/chrome-linux64.zip

and saves the error message:

<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Details>No such object: chrome-for-testing-public/146.0.7680.164/linux64/chrome-linux64.zip</Details>
</Error>

as a zip file, which is not able to install the browser. The error condition is not recognized and instead the logs show only:

^@^@
Exited with code exit status 9

Description

The Chrome for Testing JSON API endpoints list includes the following endpoint. This is used to pick a working Stable version with .channels.Stable.version to use as the equivalent of the default parameter latest in the install_chrome_for_testing command:

Endpoint Description
last-known-good-versions.json The latest versions for which all CfT assets are available for download, for each Chrome release channel (Stable/Beta/Dev/Canary).

Further suggestions

The script can be later refactored to reduce the lines of code needed for macOS and Linux.

last-known-good-versions.json provides a "Stable" version which is the same for all operating systems, so separate code flows are not needed.

@jennifer-shehane
Copy link
Copy Markdown

@david-montano-circleci is it possible to have this PR reviewed? Our pipelines are all failing due to the inability to install Chrome for Testing correctly.

@david-montano-circleci david-montano-circleci merged commit 3ffbc1e into CircleCI-Public:main Mar 31, 2026
2 checks passed
@MikeMcC399 MikeMcC399 deleted the cft-json-endpoint branch March 31, 2026 14:25
@MikeMcC399
Copy link
Copy Markdown
Contributor Author

@david-montano-circleci

Thank you very much for merging! In order to use the fix, it needs a release cutting. Are you already planning a new release?

@david-montano-circleci
Copy link
Copy Markdown

Hello @MikeMcC399 . We usually create a new release on new node versions.

@MikeMcC399
Copy link
Copy Markdown
Contributor Author

Hi @david-montano-circleci

We usually create a new release on new node versions.

I just checked and I saw that there is a new Node.js 2026-04-01, Version 25.9.0 planned for tomorrow. That would be a good combination, even though it means current pipelines using the default Latest Chrome for Testing version are going to stay broken longer than if you created a new release without waiting.

@MikeMcC399
Copy link
Copy Markdown
Contributor Author

If there is no new release soon, then I would guess that pipelines would stay broken until April 7, 2026 when Chrome transitions to 147 according to https://chromiumdash.appspot.com/schedule. That is just a guess though, as I have no way to verify it. Also it is relying on Chrome for Testing having the same binary version available as Chrome, which can't be guaranteed.

@david-montano-circleci
Copy link
Copy Markdown

I am sorry @MikeMcC399 , it is completely possible to create a new release now. Give me some minutes.

@MikeMcC399
Copy link
Copy Markdown
Contributor Author

MikeMcC399 commented Mar 31, 2026

@david-montano-circleci

Thank you so much! I've successfully verified v2.4.1 externally against Chrome for Testing. 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

install_chrome_for_testing fails with code exit status 9

3 participants