mirror of
				https://kkgithub.com/actions/setup-python.git
				synced 2025-11-04 12:44:05 +08:00 
			
		
		
		
	Include Python version in pip cache key (#303)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							156361d073
						
					
				
				
					commit
					ba33a692f1
				
			@ -13,7 +13,7 @@ export function getCacheDistributor(
 | 
			
		||||
) {
 | 
			
		||||
  switch (packageManager) {
 | 
			
		||||
    case PackageManagers.Pip:
 | 
			
		||||
      return new PipCache(cacheDependencyPath);
 | 
			
		||||
      return new PipCache(pythonVersion, cacheDependencyPath);
 | 
			
		||||
    case PackageManagers.Pipenv:
 | 
			
		||||
      return new PipenvCache(pythonVersion, cacheDependencyPath);
 | 
			
		||||
    default:
 | 
			
		||||
 | 
			
		||||
@ -8,7 +8,10 @@ import os from 'os';
 | 
			
		||||
import CacheDistributor from './cache-distributor';
 | 
			
		||||
 | 
			
		||||
class PipCache extends CacheDistributor {
 | 
			
		||||
  constructor(cacheDependencyPath: string = '**/requirements.txt') {
 | 
			
		||||
  constructor(
 | 
			
		||||
    private pythonVersion: string,
 | 
			
		||||
    cacheDependencyPath: string = '**/requirements.txt'
 | 
			
		||||
  ) {
 | 
			
		||||
    super('pip', cacheDependencyPath);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -36,8 +39,8 @@ class PipCache extends CacheDistributor {
 | 
			
		||||
 | 
			
		||||
  protected async computeKeys() {
 | 
			
		||||
    const hash = await glob.hashFiles(this.cacheDependencyPath);
 | 
			
		||||
    const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${this.packageManager}-${hash}`;
 | 
			
		||||
    const restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${this.packageManager}`;
 | 
			
		||||
    const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
 | 
			
		||||
    const restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}`;
 | 
			
		||||
 | 
			
		||||
    return {
 | 
			
		||||
      primaryKey,
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user