mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-10-31 16:23:45 +00:00 
			
		
		
		
	Merge d3c6b464aa2a106581b19860febe06594aa1b04d into 740310365d5065c44c30d213e7963107ebfd22d5
This commit is contained in:
		
						commit
						cb2ffcaf4d
					
				| @ -72,7 +72,12 @@ export class DotnetVersionResolver { | ||||
|     } else if (this.isNumericTag(major) && this.isNumericTag(minor)) { | ||||
|       this.resolvedArgument.value = `${major}.${minor}`; | ||||
|     } else if (this.isNumericTag(major)) { | ||||
|       this.resolvedArgument.value = await this.getLatestByMajorTag(major); | ||||
|       // starting with .NET 5 the minor version is always zero, hardcode the earlier versions since they won't get new releases
 | ||||
|       this.resolvedArgument.value = | ||||
|         major == '1' ? '1.1' : | ||||
|         major == '2' ? '2.2' : | ||||
|         major == '3' ? '3.1' : | ||||
|         `${major}.0`; | ||||
|     } else { | ||||
|       // If "dotnet-version" is specified as *, x or X resolve latest version of .NET explicitly from LTS channel. The version argument will default to "latest" by install-dotnet script.
 | ||||
|       this.resolvedArgument.value = 'LTS'; | ||||
| @ -95,36 +100,6 @@ export class DotnetVersionResolver { | ||||
|     } | ||||
|     return this.resolvedArgument; | ||||
|   } | ||||
| 
 | ||||
|   private async getLatestByMajorTag(majorTag: string): Promise<string> { | ||||
|     const httpClient = new hc.HttpClient('actions/setup-dotnet', [], { | ||||
|       allowRetries: true, | ||||
|       maxRetries: 3 | ||||
|     }); | ||||
| 
 | ||||
|     const response = await httpClient.getJson<any>( | ||||
|       DotnetVersionResolver.DotnetCoreIndexUrl | ||||
|     ); | ||||
| 
 | ||||
|     const result = response.result || {}; | ||||
|     const releasesInfo: any[] = result['releases-index']; | ||||
| 
 | ||||
|     const releaseInfo = releasesInfo.find(info => { | ||||
|       const sdkParts: string[] = info['channel-version'].split('.'); | ||||
|       return sdkParts[0] === majorTag; | ||||
|     }); | ||||
| 
 | ||||
|     if (!releaseInfo) { | ||||
|       throw new Error( | ||||
|         `Could not find info for version with major tag: "${majorTag}" at ${DotnetVersionResolver.DotnetCoreIndexUrl}` | ||||
|       ); | ||||
|     } | ||||
| 
 | ||||
|     return releaseInfo['channel-version']; | ||||
|   } | ||||
| 
 | ||||
|   static DotnetCoreIndexUrl = | ||||
|     'https://builds.dotnet.microsoft.com/dotnet/release-metadata/releases-index.json'; | ||||
| } | ||||
| 
 | ||||
| export class DotnetInstallScript { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user