mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-10-31 16:13:46 +00:00 
			
		
		
		
	Fix review points
This commit is contained in:
		
							parent
							
								
									7358a44590
								
							
						
					
					
						commit
						559e47b01b
					
				
							
								
								
									
										24
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -165,30 +165,6 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 3.1 2.2 | ||||
| 
 | ||||
|   test-setup-with-ABCxx-syntax: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macOS-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Setup dotnet '5.0.2xx' | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: '5.0.2xx' | ||||
|       - name: Setup dotnet '7.0.1xx' | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: '7.0.1xx' | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 5.0.2 7.0.1 | ||||
| 
 | ||||
|   test-setup-global-json-specified-and-version: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|  | ||||
							
								
								
									
										16
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @ -243,6 +243,11 @@ const path_1 = __importDefault(__nccwpck_require__(1017)); | ||||
| const os_1 = __importDefault(__nccwpck_require__(2037)); | ||||
| const semver_1 = __importDefault(__nccwpck_require__(5911)); | ||||
| const utils_1 = __nccwpck_require__(918); | ||||
| var DotnetInstallerLimits; | ||||
| (function (DotnetInstallerLimits) { | ||||
|     DotnetInstallerLimits[DotnetInstallerLimits["QualityInputMinimalMajorTag"] = 6] = "QualityInputMinimalMajorTag"; | ||||
|     DotnetInstallerLimits[DotnetInstallerLimits["LatestPatchSyntaxMinimalMajorTag"] = 5] = "LatestPatchSyntaxMinimalMajorTag"; | ||||
| })(DotnetInstallerLimits || (DotnetInstallerLimits = {})); | ||||
| class DotnetVersionResolver { | ||||
|     constructor(version) { | ||||
|         this.inputVersion = version.trim(); | ||||
| @ -267,7 +272,9 @@ class DotnetVersionResolver { | ||||
|     isLatestPatchSyntax() { | ||||
|         var _b, _c; | ||||
|         const majorTag = (_c = (_b = this.inputVersion.match(/^(?<majorTag>\d+)\.\d+\.\d{1}x{2}$/)) === null || _b === void 0 ? void 0 : _b.groups) === null || _c === void 0 ? void 0 : _c.majorTag; | ||||
|         if (majorTag && parseInt(majorTag) < 5) { | ||||
|         if (majorTag && | ||||
|             parseInt(majorTag) < | ||||
|                 DotnetInstallerLimits.LatestPatchSyntaxMinimalMajorTag) { | ||||
|             throw new Error(`'dotnet-version' was supplied in invalid format: ${this.inputVersion}! The A.B.Cxx syntax is available since the .NET 5.0 release.`); | ||||
|         } | ||||
|         return majorTag ? true : false; | ||||
| @ -290,10 +297,13 @@ class DotnetVersionResolver { | ||||
|                 this.resolvedArgument.value = yield this.getLatestByMajorTag(major); | ||||
|             } | ||||
|             else { | ||||
|                 // Resolve LTS version of .NET if "dotnet-version" is specified as *, x or X
 | ||||
|                 // If "dotnet-version" is specified as *, x or X resolve latest version of .NET explicitly from LTS channel. The version argument will be set to "latest" by default.
 | ||||
|                 this.resolvedArgument.value = 'LTS'; | ||||
|             } | ||||
|             this.resolvedArgument.qualityFlag = parseInt(major) >= 6 ? true : false; | ||||
|             this.resolvedArgument.qualityFlag = | ||||
|                 parseInt(major) >= DotnetInstallerLimits.QualityInputMinimalMajorTag | ||||
|                     ? true | ||||
|                     : false; | ||||
|         }); | ||||
|     } | ||||
|     createDotNetVersion() { | ||||
|  | ||||
| @ -17,6 +17,11 @@ export interface DotnetVersion { | ||||
|   qualityFlag: boolean; | ||||
| } | ||||
| 
 | ||||
| enum DotnetInstallerLimits { | ||||
|   QualityInputMinimalMajorTag = 6, | ||||
|   LatestPatchSyntaxMinimalMajorTag = 5 | ||||
| } | ||||
| 
 | ||||
| export class DotnetVersionResolver { | ||||
|   private inputVersion: string; | ||||
|   private resolvedArgument: DotnetVersion; | ||||
| @ -47,7 +52,11 @@ export class DotnetVersionResolver { | ||||
|     const majorTag = this.inputVersion.match( | ||||
|       /^(?<majorTag>\d+)\.\d+\.\d{1}x{2}$/ | ||||
|     )?.groups?.majorTag; | ||||
|     if (majorTag && parseInt(majorTag) < 5) { | ||||
|     if ( | ||||
|       majorTag && | ||||
|       parseInt(majorTag) < | ||||
|         DotnetInstallerLimits.LatestPatchSyntaxMinimalMajorTag | ||||
|     ) { | ||||
|       throw new Error( | ||||
|         `'dotnet-version' was supplied in invalid format: ${this.inputVersion}! The A.B.Cxx syntax is available since the .NET 5.0 release.` | ||||
|       ); | ||||
| @ -70,10 +79,13 @@ export class DotnetVersionResolver { | ||||
|     } else if (this.isNumericTag(major)) { | ||||
|       this.resolvedArgument.value = await this.getLatestByMajorTag(major); | ||||
|     } else { | ||||
|       // Resolve LTS version of .NET if "dotnet-version" is specified as *, x or X
 | ||||
|       // If "dotnet-version" is specified as *, x or X resolve latest version of .NET explicitly from LTS channel. The version argument will be set to "latest" by default.
 | ||||
|       this.resolvedArgument.value = 'LTS'; | ||||
|     } | ||||
|     this.resolvedArgument.qualityFlag = parseInt(major) >= 6 ? true : false; | ||||
|     this.resolvedArgument.qualityFlag = | ||||
|       parseInt(major) >= DotnetInstallerLimits.QualityInputMinimalMajorTag | ||||
|         ? true | ||||
|         : false; | ||||
|   } | ||||
| 
 | ||||
|   public async createDotNetVersion(): Promise<DotnetVersion> { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user