mirror of
https://github.com/actions/setup-node.git
synced 2025-06-29 14:13:49 +00:00
add support for arm64 Windows
This commit is contained in:
parent
b39b52d121
commit
026d4a4820
6 changed files with 63 additions and 14 deletions
31
dist/setup/index.js
vendored
31
dist/setup/index.js
vendored
|
@ -93110,7 +93110,11 @@ class BaseDistribution {
|
|||
const fileName = this.osPlat == 'win32'
|
||||
? `node-v${version}-win-${osArch}`
|
||||
: `node-v${version}-${this.osPlat}-${osArch}`;
|
||||
const urlFileName = this.osPlat == 'win32' ? `${fileName}.7z` : `${fileName}.tar.gz`;
|
||||
const urlFileName = this.osPlat == 'win32'
|
||||
? this.nodeInfo.arch === 'arm64'
|
||||
? `${fileName}.zip`
|
||||
: `${fileName}.7z`
|
||||
: `${fileName}.tar.gz`;
|
||||
const initialUrl = this.getDistributionUrl();
|
||||
const url = `${initialUrl}/v${version}/${urlFileName}`;
|
||||
return {
|
||||
|
@ -93194,10 +93198,18 @@ class BaseDistribution {
|
|||
let extPath;
|
||||
info = info || {}; // satisfy compiler, never null when reaches here
|
||||
if (this.osPlat == 'win32') {
|
||||
const _7zPath = path.join(__dirname, '../..', 'externals', '7zr.exe');
|
||||
extPath = yield tc.extract7z(downloadPath, undefined, _7zPath);
|
||||
const extension = this.nodeInfo.arch === 'arm64' ? '.zip' : '.7z';
|
||||
if (extension === '.zip') {
|
||||
const renamedArchive = `${downloadPath}.zip`;
|
||||
fs_1.default.renameSync(downloadPath, renamedArchive);
|
||||
extPath = yield tc.extractZip(renamedArchive);
|
||||
}
|
||||
else {
|
||||
const _7zPath = path.join(__dirname, '../..', 'externals', '7zr.exe');
|
||||
extPath = yield tc.extract7z(downloadPath, undefined, _7zPath);
|
||||
}
|
||||
// 7z extracts to folder matching file name
|
||||
const nestedPath = path.join(extPath, path.basename(info.fileName, '.7z'));
|
||||
const nestedPath = path.join(extPath, path.basename(info.fileName, extension));
|
||||
if (fs_1.default.existsSync(nestedPath)) {
|
||||
extPath = nestedPath;
|
||||
}
|
||||
|
@ -93229,7 +93241,12 @@ class BaseDistribution {
|
|||
dataFileName = `osx-${osArch}-tar`;
|
||||
break;
|
||||
case 'win32':
|
||||
dataFileName = `win-${osArch}-exe`;
|
||||
if (this.nodeInfo.arch === 'arm64') {
|
||||
dataFileName = `win-${osArch}-zip`;
|
||||
}
|
||||
else {
|
||||
dataFileName = `win-${osArch}-7z`;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new Error(`Unexpected OS '${this.osPlat}'`);
|
||||
|
@ -93784,6 +93801,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|||
exports.unique = exports.printEnvDetailsAndSetOutput = exports.parseNodeVersionFile = void 0;
|
||||
const core = __importStar(__nccwpck_require__(2186));
|
||||
const exec = __importStar(__nccwpck_require__(1514));
|
||||
const io = __importStar(__nccwpck_require__(7436));
|
||||
function parseNodeVersionFile(contents) {
|
||||
var _a, _b, _c;
|
||||
let nodeVersion;
|
||||
|
@ -93827,7 +93845,8 @@ function printEnvDetailsAndSetOutput() {
|
|||
return __awaiter(this, void 0, void 0, function* () {
|
||||
core.startGroup('Environment details');
|
||||
const promises = ['node', 'npm', 'yarn'].map((tool) => __awaiter(this, void 0, void 0, function* () {
|
||||
const output = yield getToolVersion(tool, ['--version']);
|
||||
const pathTool = yield io.which(tool, false);
|
||||
const output = pathTool ? yield getToolVersion(tool, ['--version']) : '';
|
||||
return { tool, output };
|
||||
}));
|
||||
const tools = yield Promise.all(promises);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue