From 45fb2d364ca5d91b8a3b6cbec42db234d0796435 Mon Sep 17 00:00:00 2001 From: Agustin Fernandez Date: Fri, 26 May 2023 12:21:07 -0400 Subject: [PATCH 1/2] add host-gateway only when docker server is >= v20 --- packages/target-chrome-docker/package.json | 1 + .../src/create-chrome-docker-target.js | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/target-chrome-docker/package.json b/packages/target-chrome-docker/package.json index 372cddbb..7b83ca7a 100644 --- a/packages/target-chrome-docker/package.json +++ b/packages/target-chrome-docker/package.json @@ -27,6 +27,7 @@ "execa": "^5.0.0", "fs-extra": "^9.1.0", "get-port": "^5.1.1", + "semver": "^7.5.1", "wait-on": "^5.2.1" }, "publishConfig": { diff --git a/packages/target-chrome-docker/src/create-chrome-docker-target.js b/packages/target-chrome-docker/src/create-chrome-docker-target.js index 16f77e5f..362524e9 100644 --- a/packages/target-chrome-docker/src/create-chrome-docker-target.js +++ b/packages/target-chrome-docker/src/create-chrome-docker-target.js @@ -4,6 +4,7 @@ const execa = require('execa'); const waitOn = require('wait-on'); const CDP = require('chrome-remote-interface'); const getRandomPort = require('get-port'); +const semver = require('semver'); const { ChromeError, ensureDependencyAvailable, @@ -63,7 +64,6 @@ function createChromeDockerTarget({ if (!chromeDockerWithoutSeccomp) { runArgs.push(`--security-opt=seccomp=${__dirname}/docker-seccomp.json`); } - runArgs.push('--add-host=host.docker.internal:host-gateway'); if (dockerUrl.indexOf('http://localhost') === 0) { const ip = getLocalIPAddress(); @@ -143,6 +143,17 @@ function createChromeDockerTarget({ ]) .concat(chromeFlags); + const { stdout: rawDockerVersion } = await execa('docker', [ + 'version', + '--format', + "'{{.Server.Version}}'", + ]); + const parsedDockerVersion = rawDockerVersion.replace(/'/g, ''); + + if (semver.satisfies(parsedDockerVersion, '>=20')) { + dockerArgs.push('--add-host=host.docker.internal:host-gateway'); + } + debug( `Launching chrome in docker with command "${dockerPath} ${args.join( ' ' From 60660cd278861aebefce90c6db2d688a8236f3f8 Mon Sep 17 00:00:00 2001 From: Joel Arvidsson Date: Tue, 31 Oct 2023 14:56:17 +0100 Subject: [PATCH 2/2] Update yarn.lock --- yarn.lock | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/yarn.lock b/yarn.lock index 4ac31e25..199dfc58 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18983,6 +18983,13 @@ semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" +semver@^7.5.1: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"