test: prewarm Node headers cache if specifying Electron version (#38287)

This commit is contained in:
David Sanders 2023-05-15 02:10:22 -07:00 коммит произвёл GitHub
Родитель d1c5e623fa
Коммит c591ecf518
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 15 добавлений и 0 удалений

Просмотреть файл

@ -5,6 +5,7 @@ const childProcess = require('child_process');
const crypto = require('crypto');
const fs = require('fs-extra');
const { hashElement } = require('folder-hash');
const os = require('os');
const path = require('path');
const unknownFlags = [];
@ -260,7 +261,18 @@ async function installSpecModules (dir) {
env.npm_config_target = args.electronVersion;
env.npm_config_disturl = 'https://electronjs.org/headers';
env.npm_config_runtime = 'electron';
env.npm_config_devdir = path.join(os.homedir(), '.electron-gyp');
env.npm_config_build_from_source = 'true';
const { status } = childProcess.spawnSync('npm', ['run', 'node-gyp-install', '--ensure'], {
env,
cwd: dir,
stdio: 'inherit',
shell: true
});
if (status !== 0) {
console.log(`${fail} Failed to "npm run node-gyp-install" install in '${dir}'`);
process.exit(1);
}
} else {
env.npm_config_nodedir = path.resolve(BASE, `out/${utils.getOutDir({ shouldLog: true })}/gen/node_headers`);
}

Просмотреть файл

@ -3,6 +3,9 @@
"productName": "Electron Test Main",
"main": "index.js",
"version": "0.1.0",
"scripts": {
"node-gyp-install": "node-gyp install"
},
"devDependencies": {
"@electron-ci/echo": "file:./fixtures/native-addon/echo",
"@electron-ci/uv-dlopen": "file:./fixtures/native-addon/uv-dlopen/",