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

Update to utilize ChromeHeadless as browser in preset-karma. #283



Copy link

@jaridmargolin jaridmargolin commented Jun 23, 2017

What a wonderful world we now live in.


Copy link

@eliperelman eliperelman commented Jun 29, 2017

I think this would be a breaking change, so I've held off on this until we can move forward on v7.

Copy link

@barraponto barraponto commented Jul 12, 2017

I like this but I am not sure of adoption of latest Chrome. I expect everyone to be on the latest release, but then again there's always someone stuck with older versions. Angular CLI, for instance, is not using chrome headless (but they updated karma-chrome-launcher to make it possible, see angular/angular-cli#6216)

Copy link

@edmorley edmorley commented Sep 30, 2017

I did some digging to see if we could work out the risk/timeframe for this.

The Chrome 59 blog post above links to another post with a few more details:

In there, it mentions headless isn't supported on Windows until Chrome 60 (ie later than other platforms) - though not sure if many people use Neutrino on Windows. However reading chromium issue 686608 it also sounds like there were a few other non-platform specific bugs that weren't fixed until Chrome 60 - so it sounds like that's the minimum version people should be targeting regardless.

The latest stable version of Chrome is now 61, with Chrome 60 having been released on the stable channel on 2017-08-24. Surprisingly, the stock chromium-browser package for Ubuntu is already on Chrome 61 for even LTS as old as trusty (see here).

The last remaining pieces are presumably what versions of Chrome/Chromium TravisCI/CircleCI have pre-installed.

For TravisCI, they use the official google chrome binaries rather than chromium. These are installed on all images apart from "connie" (ie anything but lang: {bash,shell,sh,minimal}): there may be a number of people relying on the pre-installed version rather than manually specifying chrome: stable in their .travis.yml.

As for what that pre-installed version is, Travis's cookbook uses the APT repo stable channel rather than a pinned version, so it depends on when the group: stable images were last refreshed:

To confirm, some test builds:

ie: For users on dist: trusty (now the default) they'll have 60.0.3112.113 installed. Though users who are still using the legacy dist: precise or have rolled back to an older trusty image using group: deprecated-* will not have a new enough version unless they are specifying chrome: stable in their .travis.yml.

As for CircleCI, I don't have much experience with it, but it appears their "2.0" platform images use the APT stable channel too, and were updated 14 hours ago - so should be fine:

They also have a legacy "1.0" platform, which is still running Chrome 54.0.2840.100, presuming their docs are up to date with what's actually installed in the Docker image (it's 8GB compressed so not inclined to try):

In conclusion: this could definitely be a breaking change for a very small number of people, so will need a major version bump - however unlike back in July when the previous discussion occurred, it's much more viable to go ahead and land this soon :-)

Copy link

@eliperelman eliperelman commented Oct 24, 2017

Let's see if we can rebase this and target it to land when we are ready to ship v8.

@eliperelman eliperelman added this to the v8 milestone Nov 1, 2017
Copy link

@eliperelman eliperelman commented Nov 14, 2017

@jaridmargolin are you up for rebasing this?

Copy link
Contributor Author

@jaridmargolin jaridmargolin commented Nov 14, 2017

Sure thing.

Copy link

@eliperelman eliperelman left a comment

neutrino-preset-karma has moved to just karma in packages, could you fix that?

Copy link

@eliperelman eliperelman commented Nov 21, 2017

I merged this from the command line, not sure why GitHub didn't close this. Anyway, this is now landed!

@jaridmargolin jaridmargolin deleted the karma-chromeheadless branch Nov 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Successfully merging this pull request may close these issues.

None yet

4 participants