mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-01 00:23:59 +08:00 
			
		
		
		
	fix: add arch to cached path (#843)
* fix: add arch to cached path * fix: change from using env to os module * fix: use process.env.RUNNER_OS instead of os.platform() * fix: remove unused var
This commit is contained in:
		| @@ -2,6 +2,7 @@ import * as core from '@actions/core'; | |||||||
| import * as cache from '@actions/cache'; | import * as cache from '@actions/cache'; | ||||||
| import * as path from 'path'; | import * as path from 'path'; | ||||||
| import * as glob from '@actions/glob'; | import * as glob from '@actions/glob'; | ||||||
|  | import osm from 'os'; | ||||||
|  |  | ||||||
| import * as utils from '../src/cache-utils'; | import * as utils from '../src/cache-utils'; | ||||||
| import {restoreCache} from '../src/cache-restore'; | import {restoreCache} from '../src/cache-restore'; | ||||||
| @@ -12,6 +13,7 @@ describe('cache-restore', () => { | |||||||
|     process.env.RUNNER_OS = 'Linux'; |     process.env.RUNNER_OS = 'Linux'; | ||||||
|   } |   } | ||||||
|   const platform = process.env.RUNNER_OS; |   const platform = process.env.RUNNER_OS; | ||||||
|  |   const arch = 'arm64'; | ||||||
|   const commonPath = '/some/random/path'; |   const commonPath = '/some/random/path'; | ||||||
|   const npmCachePath = `${commonPath}/npm`; |   const npmCachePath = `${commonPath}/npm`; | ||||||
|   const pnpmCachePath = `${commonPath}/pnpm`; |   const pnpmCachePath = `${commonPath}/pnpm`; | ||||||
| @@ -52,6 +54,7 @@ describe('cache-restore', () => { | |||||||
|   let getCommandOutputSpy: jest.SpyInstance; |   let getCommandOutputSpy: jest.SpyInstance; | ||||||
|   let restoreCacheSpy: jest.SpyInstance; |   let restoreCacheSpy: jest.SpyInstance; | ||||||
|   let hashFilesSpy: jest.SpyInstance; |   let hashFilesSpy: jest.SpyInstance; | ||||||
|  |   let archSpy: jest.SpyInstance; | ||||||
|  |  | ||||||
|   beforeEach(() => { |   beforeEach(() => { | ||||||
|     // core |     // core | ||||||
| @@ -102,6 +105,10 @@ describe('cache-restore', () => { | |||||||
|  |  | ||||||
|     // cache-utils |     // cache-utils | ||||||
|     getCommandOutputSpy = jest.spyOn(utils, 'getCommandOutput'); |     getCommandOutputSpy = jest.spyOn(utils, 'getCommandOutput'); | ||||||
|  |  | ||||||
|  |     // os | ||||||
|  |     archSpy = jest.spyOn(osm, 'arch'); | ||||||
|  |     archSpy.mockImplementation(() => arch); | ||||||
|   }); |   }); | ||||||
|  |  | ||||||
|   describe('Validate provided package manager', () => { |   describe('Validate provided package manager', () => { | ||||||
| @@ -135,7 +142,7 @@ describe('cache-restore', () => { | |||||||
|         await restoreCache(packageManager, ''); |         await restoreCache(packageManager, ''); | ||||||
|         expect(hashFilesSpy).toHaveBeenCalled(); |         expect(hashFilesSpy).toHaveBeenCalled(); | ||||||
|         expect(infoSpy).toHaveBeenCalledWith( |         expect(infoSpy).toHaveBeenCalledWith( | ||||||
|           `Cache restored from key: node-cache-${platform}-${packageManager}-${fileHash}` |           `Cache restored from key: node-cache-${platform}-${arch}-${packageManager}-${fileHash}` | ||||||
|         ); |         ); | ||||||
|         expect(infoSpy).not.toHaveBeenCalledWith( |         expect(infoSpy).not.toHaveBeenCalledWith( | ||||||
|           `${packageManager} cache is not found` |           `${packageManager} cache is not found` | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -93303,6 +93303,7 @@ const core = __importStar(__nccwpck_require__(2186)); | |||||||
| const glob = __importStar(__nccwpck_require__(8090)); | const glob = __importStar(__nccwpck_require__(8090)); | ||||||
| const path_1 = __importDefault(__nccwpck_require__(1017)); | const path_1 = __importDefault(__nccwpck_require__(1017)); | ||||||
| const fs_1 = __importDefault(__nccwpck_require__(7147)); | const fs_1 = __importDefault(__nccwpck_require__(7147)); | ||||||
|  | const os_1 = __importDefault(__nccwpck_require__(2037)); | ||||||
| const constants_1 = __nccwpck_require__(9042); | const constants_1 = __nccwpck_require__(9042); | ||||||
| const cache_utils_1 = __nccwpck_require__(1678); | const cache_utils_1 = __nccwpck_require__(1678); | ||||||
| const restoreCache = (packageManager, cacheDependencyPath) => __awaiter(void 0, void 0, void 0, function* () { | const restoreCache = (packageManager, cacheDependencyPath) => __awaiter(void 0, void 0, void 0, function* () { | ||||||
| @@ -93311,6 +93312,7 @@ const restoreCache = (packageManager, cacheDependencyPath) => __awaiter(void 0, | |||||||
|         throw new Error(`Caching for '${packageManager}' is not supported`); |         throw new Error(`Caching for '${packageManager}' is not supported`); | ||||||
|     } |     } | ||||||
|     const platform = process.env.RUNNER_OS; |     const platform = process.env.RUNNER_OS; | ||||||
|  |     const arch = os_1.default.arch(); | ||||||
|     const cachePaths = yield (0, cache_utils_1.getCacheDirectories)(packageManagerInfo, cacheDependencyPath); |     const cachePaths = yield (0, cache_utils_1.getCacheDirectories)(packageManagerInfo, cacheDependencyPath); | ||||||
|     core.saveState(constants_1.State.CachePaths, cachePaths); |     core.saveState(constants_1.State.CachePaths, cachePaths); | ||||||
|     const lockFilePath = cacheDependencyPath |     const lockFilePath = cacheDependencyPath | ||||||
| @@ -93320,7 +93322,7 @@ const restoreCache = (packageManager, cacheDependencyPath) => __awaiter(void 0, | |||||||
|     if (!fileHash) { |     if (!fileHash) { | ||||||
|         throw new Error('Some specified paths were not resolved, unable to cache dependencies.'); |         throw new Error('Some specified paths were not resolved, unable to cache dependencies.'); | ||||||
|     } |     } | ||||||
|     const keyPrefix = `node-cache-${platform}-${packageManager}`; |     const keyPrefix = `node-cache-${platform}-${arch}-${packageManager}`; | ||||||
|     const primaryKey = `${keyPrefix}-${fileHash}`; |     const primaryKey = `${keyPrefix}-${fileHash}`; | ||||||
|     core.debug(`primary key is ${primaryKey}`); |     core.debug(`primary key is ${primaryKey}`); | ||||||
|     core.saveState(constants_1.State.CachePrimaryKey, primaryKey); |     core.saveState(constants_1.State.CachePrimaryKey, primaryKey); | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ import * as core from '@actions/core'; | |||||||
| import * as glob from '@actions/glob'; | import * as glob from '@actions/glob'; | ||||||
| import path from 'path'; | import path from 'path'; | ||||||
| import fs from 'fs'; | import fs from 'fs'; | ||||||
|  | import os from 'os'; | ||||||
|  |  | ||||||
| import {State} from './constants'; | import {State} from './constants'; | ||||||
| import { | import { | ||||||
| @@ -21,6 +22,7 @@ export const restoreCache = async ( | |||||||
|     throw new Error(`Caching for '${packageManager}' is not supported`); |     throw new Error(`Caching for '${packageManager}' is not supported`); | ||||||
|   } |   } | ||||||
|   const platform = process.env.RUNNER_OS; |   const platform = process.env.RUNNER_OS; | ||||||
|  |   const arch = os.arch(); | ||||||
|  |  | ||||||
|   const cachePaths = await getCacheDirectories( |   const cachePaths = await getCacheDirectories( | ||||||
|     packageManagerInfo, |     packageManagerInfo, | ||||||
| @@ -38,7 +40,7 @@ export const restoreCache = async ( | |||||||
|     ); |     ); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   const keyPrefix = `node-cache-${platform}-${packageManager}`; |   const keyPrefix = `node-cache-${platform}-${arch}-${packageManager}`; | ||||||
|   const primaryKey = `${keyPrefix}-${fileHash}`; |   const primaryKey = `${keyPrefix}-${fileHash}`; | ||||||
|   core.debug(`primary key is ${primaryKey}`); |   core.debug(`primary key is ${primaryKey}`); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Peng Xiao
					Peng Xiao