mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-04 05:19:11 +08:00 
			
		
		
		
	Fix: windows arm64 setup (#1126)
* Add condition to ensure ZIP extraction targets only Windows ARM64 official archives * Bumps micromatch from 4.0.5 to 4.0.8
This commit is contained in:
		
							
								
								
									
										8
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							@@ -93883,7 +93883,7 @@ class BaseDistribution {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
                throw err;
 | 
					                throw err;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const toolPath = yield this.extractArchive(downloadPath, info);
 | 
					            const toolPath = yield this.extractArchive(downloadPath, info, true);
 | 
				
			||||||
            core.info('Done');
 | 
					            core.info('Done');
 | 
				
			||||||
            return toolPath;
 | 
					            return toolPath;
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
@@ -93933,7 +93933,7 @@ class BaseDistribution {
 | 
				
			|||||||
            return toolPath;
 | 
					            return toolPath;
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    extractArchive(downloadPath, info) {
 | 
					    extractArchive(downloadPath, info, isOfficialArchive) {
 | 
				
			||||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
					        return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
            //
 | 
					            //
 | 
				
			||||||
            // Extract
 | 
					            // Extract
 | 
				
			||||||
@@ -93948,7 +93948,7 @@ class BaseDistribution {
 | 
				
			|||||||
                // on Windows runners without PowerShell Core.
 | 
					                // on Windows runners without PowerShell Core.
 | 
				
			||||||
                //
 | 
					                //
 | 
				
			||||||
                // For default PowerShell Windows it should contain extension type to unpack it.
 | 
					                // For default PowerShell Windows it should contain extension type to unpack it.
 | 
				
			||||||
                if (extension === '.zip') {
 | 
					                if (extension === '.zip' && isOfficialArchive) {
 | 
				
			||||||
                    const renamedArchive = `${downloadPath}.zip`;
 | 
					                    const renamedArchive = `${downloadPath}.zip`;
 | 
				
			||||||
                    fs_1.default.renameSync(downloadPath, renamedArchive);
 | 
					                    fs_1.default.renameSync(downloadPath, renamedArchive);
 | 
				
			||||||
                    extPath = yield tc.extractZip(renamedArchive);
 | 
					                    extPath = yield tc.extractZip(renamedArchive);
 | 
				
			||||||
@@ -94186,7 +94186,7 @@ class OfficialBuilds extends base_distribution_1.default {
 | 
				
			|||||||
                    core.info(`Acquiring ${versionInfo.resolvedVersion} - ${versionInfo.arch} from ${versionInfo.downloadUrl}`);
 | 
					                    core.info(`Acquiring ${versionInfo.resolvedVersion} - ${versionInfo.arch} from ${versionInfo.downloadUrl}`);
 | 
				
			||||||
                    downloadPath = yield tc.downloadTool(versionInfo.downloadUrl, undefined, this.nodeInfo.auth);
 | 
					                    downloadPath = yield tc.downloadTool(versionInfo.downloadUrl, undefined, this.nodeInfo.auth);
 | 
				
			||||||
                    if (downloadPath) {
 | 
					                    if (downloadPath) {
 | 
				
			||||||
                        toolPath = yield this.extractArchive(downloadPath, versionInfo);
 | 
					                        toolPath = yield this.extractArchive(downloadPath, versionInfo, false);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else {
 | 
					                else {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -4429,12 +4429,12 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/micromatch": {
 | 
					    "node_modules/micromatch": {
 | 
				
			||||||
      "version": "4.0.5",
 | 
					      "version": "4.0.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
 | 
					      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true,
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "braces": "^3.0.2",
 | 
					        "braces": "^3.0.3",
 | 
				
			||||||
        "picomatch": "^2.3.1"
 | 
					        "picomatch": "^2.3.1"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "engines": {
 | 
					      "engines": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -150,7 +150,7 @@ export default abstract class BaseDistribution {
 | 
				
			|||||||
      throw err;
 | 
					      throw err;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const toolPath = await this.extractArchive(downloadPath, info);
 | 
					    const toolPath = await this.extractArchive(downloadPath, info, true);
 | 
				
			||||||
    core.info('Done');
 | 
					    core.info('Done');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return toolPath;
 | 
					    return toolPath;
 | 
				
			||||||
@@ -210,7 +210,8 @@ export default abstract class BaseDistribution {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  protected async extractArchive(
 | 
					  protected async extractArchive(
 | 
				
			||||||
    downloadPath: string,
 | 
					    downloadPath: string,
 | 
				
			||||||
    info: INodeVersionInfo | null
 | 
					    info: INodeVersionInfo | null,
 | 
				
			||||||
 | 
					    isOfficialArchive?: boolean
 | 
				
			||||||
  ) {
 | 
					  ) {
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
    // Extract
 | 
					    // Extract
 | 
				
			||||||
@@ -225,7 +226,7 @@ export default abstract class BaseDistribution {
 | 
				
			|||||||
      // on Windows runners without PowerShell Core.
 | 
					      // on Windows runners without PowerShell Core.
 | 
				
			||||||
      //
 | 
					      //
 | 
				
			||||||
      // For default PowerShell Windows it should contain extension type to unpack it.
 | 
					      // For default PowerShell Windows it should contain extension type to unpack it.
 | 
				
			||||||
      if (extension === '.zip') {
 | 
					      if (extension === '.zip' && isOfficialArchive) {
 | 
				
			||||||
        const renamedArchive = `${downloadPath}.zip`;
 | 
					        const renamedArchive = `${downloadPath}.zip`;
 | 
				
			||||||
        fs.renameSync(downloadPath, renamedArchive);
 | 
					        fs.renameSync(downloadPath, renamedArchive);
 | 
				
			||||||
        extPath = await tc.extractZip(renamedArchive);
 | 
					        extPath = await tc.extractZip(renamedArchive);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -88,7 +88,11 @@ export default class OfficialBuilds extends BaseDistribution {
 | 
				
			|||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (downloadPath) {
 | 
					        if (downloadPath) {
 | 
				
			||||||
          toolPath = await this.extractArchive(downloadPath, versionInfo);
 | 
					          toolPath = await this.extractArchive(
 | 
				
			||||||
 | 
					            downloadPath,
 | 
				
			||||||
 | 
					            versionInfo,
 | 
				
			||||||
 | 
					            false
 | 
				
			||||||
 | 
					          );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        core.info(
 | 
					        core.info(
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user