Skip to content

Commit 7864673

Browse files
authored
fix: pull the chromium version from the binary, not the monorepo when testing the packaged app COMPASS-9421 (#7108)
* pull the electron version from the binary, not the monorepo when testing the packaged app * just use the chrome version directly
1 parent cc7032d commit 7864673

File tree

5 files changed

+30
-6
lines changed

5 files changed

+30
-6
lines changed

packages/compass-e2e-tests/helpers/compass-web-sandbox.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import Debug from 'debug';
66
import {
77
COMPASS_WEB_SANDBOX_RUNNER_PATH,
88
COMPASS_WEB_WDIO_USER_DATA_PATH,
9-
ELECTRON_CHROMIUM_VERSION,
9+
MONOREPO_ELECTRON_CHROMIUM_VERSION,
1010
ELECTRON_PATH,
1111
} from './test-runner-paths';
1212
import type { ConnectionInfo } from '@mongodb-js/connection-info';
@@ -86,7 +86,7 @@ export async function spawnCompassWebSandboxAndSignInToAtlas(
8686
const electronProxyRemote = await remote({
8787
capabilities: {
8888
browserName: 'chromium',
89-
browserVersion: ELECTRON_CHROMIUM_VERSION,
89+
browserVersion: MONOREPO_ELECTRON_CHROMIUM_VERSION,
9090
'goog:chromeOptions': {
9191
binary: ELECTRON_PATH,
9292
args: [

packages/compass-e2e-tests/helpers/compass.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import {
3232
isTestingAtlasCloudExternal,
3333
} from './test-runner-context';
3434
import {
35-
ELECTRON_CHROMIUM_VERSION,
35+
MONOREPO_ELECTRON_CHROMIUM_VERSION,
3636
LOG_PATH,
3737
LOG_COVERAGE_PATH,
3838
COMPASS_DESKTOP_PATH,
@@ -473,6 +473,11 @@ function execFileIgnoreError(
473473
});
474474
}
475475

476+
async function getChromiumVersionFromBinary(path: string) {
477+
const { stdout } = await execFileIgnoreError(path, ['--versions'], {});
478+
return JSON.parse(stdout).chrome;
479+
}
480+
476481
export async function runCompassOnce(args: string[], timeout = 30_000) {
477482
const { binary } = await getCompassExecutionParameters();
478483
debug('spawning compass...', {
@@ -654,7 +659,9 @@ async function startCompassElectron(
654659
automationProtocol: 'webdriver' as const,
655660
capabilities: {
656661
browserName: 'chromium',
657-
browserVersion: ELECTRON_CHROMIUM_VERSION,
662+
browserVersion: testPackagedApp
663+
? await getChromiumVersionFromBinary(binary)
664+
: MONOREPO_ELECTRON_CHROMIUM_VERSION,
658665
// https://chromedriver.chromium.org/capabilities#h.p_ID_106
659666
'goog:chromeOptions': {
660667
binary: maybeWrappedBinary,

packages/compass-e2e-tests/helpers/test-runner-paths.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,10 @@ export const LOG_COVERAGE_PATH = path.join(LOG_PATH, 'coverage');
3333
export const COVERAGE_PATH = (process.env.COVERAGE = MONOREPO_ROOT_PATH);
3434

3535
export const ELECTRON_PATH = electronPath;
36-
export const ELECTRON_VERSION = electronPackageJson.version;
37-
export const ELECTRON_CHROMIUM_VERSION = electronToChromium(ELECTRON_VERSION);
36+
export const MONOREPO_ELECTRON_VERSION = electronPackageJson.version;
37+
export const MONOREPO_ELECTRON_CHROMIUM_VERSION = electronToChromium(
38+
MONOREPO_ELECTRON_VERSION
39+
);
3840

3941
export const COMPASS_WEB_SANDBOX_RUNNER_PATH = path.resolve(
4042
path.dirname(require.resolve('@mongodb-js/compass-web/package.json')),

packages/compass-preferences-model/src/preferences-schema.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ export type CliOnlyPreferences = {
134134
importConnections?: string;
135135
passphrase?: string;
136136
version?: boolean;
137+
versions?: boolean;
137138
help?: boolean;
138139
showExampleConfig?: boolean;
139140
trustedConnectionString?: boolean;
@@ -1070,6 +1071,16 @@ const cliOnlyPreferencesProps: Required<{
10701071
validator: z.boolean().optional(),
10711072
type: 'boolean',
10721073
},
1074+
versions: {
1075+
ui: false,
1076+
cli: true,
1077+
global: false,
1078+
description: {
1079+
short: 'Show Node, Electron, Chromium Versions',
1080+
},
1081+
validator: z.boolean().optional(),
1082+
type: 'boolean',
1083+
},
10731084
showExampleConfig: {
10741085
ui: false,
10751086
cli: true,

packages/compass/src/main/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ async function main(): Promise<void> {
5757
process.stdout.write(`${app.getName()} ${app.getVersion()}\n`);
5858
return app.exit(0);
5959
}
60+
if (preferences.versions) {
61+
process.stdout.write(`${JSON.stringify(process.versions)}\n`);
62+
return app.exit(0);
63+
}
6064

6165
if (preferences.help) {
6266
process.stdout.write(getHelpText());

0 commit comments

Comments
 (0)