mirror of
				https://kkgithub.com/actions/setup-python.git
				synced 2025-11-04 12:44:05 +08:00 
			
		
		
		
	fix: add arch to cache key (#896)
* fix: add arch to cache key * test: update tests accordingly
This commit is contained in:
		@ -186,15 +186,15 @@ virtualenvs.path = "{cache-dir}/virtualenvs"  # /Users/patrick/Library/Caches/py
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if (process.platform === 'linux' && packageManager === 'pip') {
 | 
					        if (process.platform === 'linux' && packageManager === 'pip') {
 | 
				
			||||||
          expect(infoSpy).toHaveBeenCalledWith(
 | 
					          expect(infoSpy).toHaveBeenCalledWith(
 | 
				
			||||||
            `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-20.04-Ubuntu-python-${pythonVersion}-${packageManager}-${fileHash}`
 | 
					            `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-20.04-Ubuntu-python-${pythonVersion}-${packageManager}-${fileHash}`
 | 
				
			||||||
          );
 | 
					          );
 | 
				
			||||||
        } else if (packageManager === 'poetry') {
 | 
					        } else if (packageManager === 'poetry') {
 | 
				
			||||||
          expect(infoSpy).toHaveBeenCalledWith(
 | 
					          expect(infoSpy).toHaveBeenCalledWith(
 | 
				
			||||||
            `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-python-${pythonVersion}-${packageManager}-v2-${fileHash}`
 | 
					            `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-python-${pythonVersion}-${packageManager}-v2-${fileHash}`
 | 
				
			||||||
          );
 | 
					          );
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          expect(infoSpy).toHaveBeenCalledWith(
 | 
					          expect(infoSpy).toHaveBeenCalledWith(
 | 
				
			||||||
            `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-python-${pythonVersion}-${packageManager}-${fileHash}`
 | 
					            `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-python-${pythonVersion}-${packageManager}-${fileHash}`
 | 
				
			||||||
          );
 | 
					          );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							@ -90423,12 +90423,12 @@ class PipCache extends cache_distributor_1.default {
 | 
				
			|||||||
            let restoreKey = '';
 | 
					            let restoreKey = '';
 | 
				
			||||||
            if (utils_1.IS_LINUX) {
 | 
					            if (utils_1.IS_LINUX) {
 | 
				
			||||||
                const osInfo = yield (0, utils_1.getLinuxInfo)();
 | 
					                const osInfo = yield (0, utils_1.getLinuxInfo)();
 | 
				
			||||||
                primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
					                primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
				
			||||||
                restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
					                restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else {
 | 
					            else {
 | 
				
			||||||
                primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
					                primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
				
			||||||
                restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
					                restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return {
 | 
					            return {
 | 
				
			||||||
                primaryKey,
 | 
					                primaryKey,
 | 
				
			||||||
@ -90514,7 +90514,7 @@ class PipenvCache extends cache_distributor_1.default {
 | 
				
			|||||||
    computeKeys() {
 | 
					    computeKeys() {
 | 
				
			||||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
					        return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
            const hash = yield glob.hashFiles(this.patterns);
 | 
					            const hash = yield glob.hashFiles(this.patterns);
 | 
				
			||||||
            const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
					            const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${process.arch}-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
				
			||||||
            const restoreKey = undefined;
 | 
					            const restoreKey = undefined;
 | 
				
			||||||
            return {
 | 
					            return {
 | 
				
			||||||
                primaryKey,
 | 
					                primaryKey,
 | 
				
			||||||
@ -90627,7 +90627,7 @@ class PoetryCache extends cache_distributor_1.default {
 | 
				
			|||||||
        return __awaiter(this, void 0, void 0, function* () {
 | 
					        return __awaiter(this, void 0, void 0, function* () {
 | 
				
			||||||
            const hash = yield glob.hashFiles(this.patterns);
 | 
					            const hash = yield glob.hashFiles(this.patterns);
 | 
				
			||||||
            // "v2" is here to invalidate old caches of this cache distributor, which were created broken:
 | 
					            // "v2" is here to invalidate old caches of this cache distributor, which were created broken:
 | 
				
			||||||
            const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`;
 | 
					            const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`;
 | 
				
			||||||
            const restoreKey = undefined;
 | 
					            const restoreKey = undefined;
 | 
				
			||||||
            return {
 | 
					            return {
 | 
				
			||||||
                primaryKey,
 | 
					                primaryKey,
 | 
				
			||||||
 | 
				
			|||||||
@ -67,11 +67,11 @@ class PipCache extends CacheDistributor {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (IS_LINUX) {
 | 
					    if (IS_LINUX) {
 | 
				
			||||||
      const osInfo = await getLinuxInfo();
 | 
					      const osInfo = await getLinuxInfo();
 | 
				
			||||||
      primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
					      primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
				
			||||||
      restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
					      restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
					      primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
				
			||||||
      restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
					      restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
 | 
				
			|||||||
@ -32,7 +32,7 @@ class PipenvCache extends CacheDistributor {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  protected async computeKeys() {
 | 
					  protected async computeKeys() {
 | 
				
			||||||
    const hash = await glob.hashFiles(this.patterns);
 | 
					    const hash = await glob.hashFiles(this.patterns);
 | 
				
			||||||
    const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
					    const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
				
			||||||
    const restoreKey = undefined;
 | 
					    const restoreKey = undefined;
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      primaryKey,
 | 
					      primaryKey,
 | 
				
			||||||
 | 
				
			|||||||
@ -47,7 +47,7 @@ class PoetryCache extends CacheDistributor {
 | 
				
			|||||||
  protected async computeKeys() {
 | 
					  protected async computeKeys() {
 | 
				
			||||||
    const hash = await glob.hashFiles(this.patterns);
 | 
					    const hash = await glob.hashFiles(this.patterns);
 | 
				
			||||||
    // "v2" is here to invalidate old caches of this cache distributor, which were created broken:
 | 
					    // "v2" is here to invalidate old caches of this cache distributor, which were created broken:
 | 
				
			||||||
    const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`;
 | 
					    const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`;
 | 
				
			||||||
    const restoreKey = undefined;
 | 
					    const restoreKey = undefined;
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      primaryKey,
 | 
					      primaryKey,
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user