mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-10-31 23:43:44 +00:00 
			
		
		
		
	Explicity set installation path
Github actions tool guidelines, is to use the worker tool cache, instead of system-wide install path.
This commit is contained in:
		
							parent
							
								
									4d6c8fcf3c
								
							
						
					
					
						commit
						efeedaa0ba
					
				
							
								
								
									
										24
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @ -93164,6 +93164,13 @@ class DotnetInstallScript { | ||||
|         this.scriptArguments.push(...args); | ||||
|         return this; | ||||
|     } | ||||
|     useInstallPath(installPath) { | ||||
|         if (installPath == null) { | ||||
|             installPath = DotnetInstallDir.dirPath; | ||||
|         } | ||||
|         this.useArguments(utils_1.IS_WINDOWS ? '-Install-Dir' : '--install-dir', installPath); | ||||
|         return this; | ||||
|     } | ||||
|     useVersion(dotnetVersion, quality) { | ||||
|         if (dotnetVersion.type) { | ||||
|             this.useArguments(dotnetVersion.type, dotnetVersion.value); | ||||
| @ -93189,6 +93196,15 @@ class DotnetInstallScript { | ||||
| } | ||||
| exports.DotnetInstallScript = DotnetInstallScript; | ||||
| class DotnetInstallDir { | ||||
|     static getInstallDirectory() { | ||||
|         if (process.env['DOTNET_INSTALL_DIR'] != null) { | ||||
|             return process.env['DOTNET_INSTALL_DIR']; | ||||
|         } | ||||
|         if (process.env['RUNNER_TOOL_CACHE'] != null) { | ||||
|             return path_1.default.join(process.env['RUNNER_TOOL_CACHE'], 'dotnet'); | ||||
|         } | ||||
|         return DotnetInstallDir.default[utils_1.PLATFORM]; | ||||
|     } | ||||
|     static convertInstallPathToAbsolute(installDir) { | ||||
|         if (path_1.default.isAbsolute(installDir)) | ||||
|             return path_1.default.normalize(installDir); | ||||
| @ -93211,9 +93227,7 @@ DotnetInstallDir.default = { | ||||
|     mac: path_1.default.join(process.env['HOME'] + '', '.dotnet'), | ||||
|     windows: path_1.default.join(process.env['PROGRAMFILES'] + '', 'dotnet') | ||||
| }; | ||||
| DotnetInstallDir.dirPath = process.env['DOTNET_INSTALL_DIR'] | ||||
|     ? DotnetInstallDir.convertInstallPathToAbsolute(process.env['DOTNET_INSTALL_DIR']) | ||||
|     : DotnetInstallDir.default[utils_1.PLATFORM]; | ||||
| DotnetInstallDir.dirPath = DotnetInstallDir.convertInstallPathToAbsolute(DotnetInstallDir.getInstallDirectory()); | ||||
| class DotnetCoreInstaller { | ||||
|     constructor(version, quality) { | ||||
|         this.version = version; | ||||
| @ -93234,6 +93248,8 @@ class DotnetCoreInstaller { | ||||
|                 .useArguments(utils_1.IS_WINDOWS ? '-Runtime' : '--runtime', 'dotnet') | ||||
|                 // Use latest stable version
 | ||||
|                 .useArguments(utils_1.IS_WINDOWS ? '-Channel' : '--channel', 'LTS') | ||||
|                 // Explicitly set the install path (see https://github.com/actions/setup-dotnet/issues/360)
 | ||||
|                 .useInstallPath(DotnetInstallDir.dirPath) | ||||
|                 .execute(); | ||||
|             if (runtimeInstallOutput.exitCode) { | ||||
|                 /** | ||||
| @ -93251,6 +93267,8 @@ class DotnetCoreInstaller { | ||||
|                 .useArguments(utils_1.IS_WINDOWS ? '-SkipNonVersionedFiles' : '--skip-non-versioned-files') | ||||
|                 // Use version provided by user
 | ||||
|                 .useVersion(dotnetVersion, this.quality) | ||||
|                 // Explicitly set the install path (see https://github.com/actions/setup-dotnet/issues/360)
 | ||||
|                 .useInstallPath(DotnetInstallDir.dirPath) | ||||
|                 .execute(); | ||||
|             if (dotnetInstallOutput.exitCode) { | ||||
|                 throw new Error(`Failed to install dotnet, exit code: ${dotnetInstallOutput.exitCode}. ${dotnetInstallOutput.stderr}`); | ||||
|  | ||||
| @ -182,6 +182,17 @@ export class DotnetInstallScript { | ||||
|     return this; | ||||
|   } | ||||
| 
 | ||||
|   public useInstallPath(installPath: string) { | ||||
|     if (installPath == null) { | ||||
|       installPath = DotnetInstallDir.dirPath; | ||||
|     } | ||||
|     this.useArguments( | ||||
|       IS_WINDOWS ? '-Install-Dir' : '--install-dir', | ||||
|       installPath | ||||
|     ); | ||||
|     return this; | ||||
|   } | ||||
| 
 | ||||
|   public useVersion(dotnetVersion: DotnetVersion, quality?: QualityOptions) { | ||||
|     if (dotnetVersion.type) { | ||||
|       this.useArguments(dotnetVersion.type, dotnetVersion.value); | ||||
| @ -222,11 +233,20 @@ export abstract class DotnetInstallDir { | ||||
|     windows: path.join(process.env['PROGRAMFILES'] + '', 'dotnet') | ||||
|   }; | ||||
| 
 | ||||
|   public static readonly dirPath = process.env['DOTNET_INSTALL_DIR'] | ||||
|     ? DotnetInstallDir.convertInstallPathToAbsolute( | ||||
|         process.env['DOTNET_INSTALL_DIR'] | ||||
|       ) | ||||
|     : DotnetInstallDir.default[PLATFORM]; | ||||
|   private static getInstallDirectory() { | ||||
|     if (process.env['DOTNET_INSTALL_DIR'] != null) { | ||||
|       return process.env['DOTNET_INSTALL_DIR']; | ||||
|     } | ||||
|     if (process.env['RUNNER_TOOL_CACHE'] != null) { | ||||
|       return path.join(process.env['RUNNER_TOOL_CACHE'], 'dotnet'); | ||||
|     } | ||||
|     return DotnetInstallDir.default[PLATFORM]; | ||||
|   } | ||||
| 
 | ||||
|   public static readonly dirPath = | ||||
|     DotnetInstallDir.convertInstallPathToAbsolute( | ||||
|       DotnetInstallDir.getInstallDirectory() | ||||
|     ); | ||||
| 
 | ||||
|   private static convertInstallPathToAbsolute(installDir: string): string { | ||||
|     if (path.isAbsolute(installDir)) return path.normalize(installDir); | ||||
| @ -275,6 +295,8 @@ export class DotnetCoreInstaller { | ||||
|       .useArguments(IS_WINDOWS ? '-Runtime' : '--runtime', 'dotnet') | ||||
|       // Use latest stable version
 | ||||
|       .useArguments(IS_WINDOWS ? '-Channel' : '--channel', 'LTS') | ||||
|       // Explicitly set the install path (see https://github.com/actions/setup-dotnet/issues/360)
 | ||||
|       .useInstallPath(DotnetInstallDir.dirPath) | ||||
|       .execute(); | ||||
| 
 | ||||
|     if (runtimeInstallOutput.exitCode) { | ||||
| @ -298,6 +320,8 @@ export class DotnetCoreInstaller { | ||||
|       ) | ||||
|       // Use version provided by user
 | ||||
|       .useVersion(dotnetVersion, this.quality) | ||||
|       // Explicitly set the install path (see https://github.com/actions/setup-dotnet/issues/360)
 | ||||
|       .useInstallPath(DotnetInstallDir.dirPath) | ||||
|       .execute(); | ||||
| 
 | ||||
|     if (dotnetInstallOutput.exitCode) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user