add retries and error handling
This commit is contained in:
		
							parent
							
								
									623089a937
								
							
						
					
					
						commit
						9c4f82dc57
					
				
							
								
								
									
										16
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							| @ -9,12 +9,12 @@ jobs: | |||||||
|         operating-system: [ubuntu-latest, windows-latest] |         operating-system: [ubuntu-latest, windows-latest] | ||||||
|     steps: |     steps: | ||||||
|     - name: Checkout |     - name: Checkout | ||||||
|       uses: actions/checkout@master |       uses: actions/checkout@v2 | ||||||
| 
 | 
 | ||||||
|     - name: Set Node.js 10.x |     - name: Setup Node.js 12.x | ||||||
|       uses: actions/setup-node@master |       uses: actions/setup-node@v1 | ||||||
|       with: |       with: | ||||||
|         node-version: 10.x |         node-version: 12.x | ||||||
| 
 | 
 | ||||||
|     - name: npm install |     - name: npm install | ||||||
|       run: npm install |       run: npm install | ||||||
| @ -40,12 +40,12 @@ jobs: | |||||||
|       run: | |       run: | | ||||||
|         echo "127.0.0.0 registry.npm.js nodejs.org github.com api.github.com download.java.net static.azul.com" | sudo tee -a /etc/hosts |         echo "127.0.0.0 registry.npm.js nodejs.org github.com api.github.com download.java.net static.azul.com" | sudo tee -a /etc/hosts | ||||||
|     - name: Checkout |     - name: Checkout | ||||||
|       uses: actions/checkout@master |       uses: actions/checkout@v2 | ||||||
| 
 | 
 | ||||||
|     - name: Set Node.js 10.x |     - name: Setup Node.js 12.x | ||||||
|       uses: actions/setup-node@master |       uses: actions/setup-node@v1 | ||||||
|       with: |       with: | ||||||
|         node-version: 10.x |         node-version: 12.x | ||||||
| 
 | 
 | ||||||
|     - name: npm install |     - name: npm install | ||||||
|       run: npm install |       run: npm install | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -39,15 +39,28 @@ export async function getJava( | |||||||
|   } else { |   } else { | ||||||
|     let compressedFileExtension = ''; |     let compressedFileExtension = ''; | ||||||
|     if (!jdkFile) { |     if (!jdkFile) { | ||||||
|       core.debug('Downloading Jdk from Azul'); |       core.debug('Downloading JDK from Azul'); | ||||||
|       let http: httpm.HttpClient = new httpm.HttpClient('setup-java'); |       const http = new httpm.HttpClient('setup-java', undefined, { | ||||||
|       let contents = await ( |         allowRetries: true, | ||||||
|         await http.get('https://static.azul.com/zulu/bin/') |         maxRetries: 3 | ||||||
|       ).readBody(); |       }); | ||||||
|       let refs = contents.match(/<a href.*\">/gi) || []; |       const url = 'https://static.azul.com/zulu/bin/'; | ||||||
|  |       const response = await http.get(url); | ||||||
|  |       const statusCode = response.message.statusCode || 0; | ||||||
|  |       if (statusCode < 200 || statusCode > 299) { | ||||||
|  |         let body = ''; | ||||||
|  |         try { | ||||||
|  |           body = await response.readBody(); | ||||||
|  |         } catch (err) { | ||||||
|  |           core.debug(`Unable to read body: ${err.message}`); | ||||||
|  |         } | ||||||
|  |         const message = `Unexpected HTTP status code '${response.message.statusCode}' when retrieving versions from '${url}'. ${body}`.trim(); | ||||||
|  |         throw new Error(message); | ||||||
|  |       } | ||||||
| 
 | 
 | ||||||
|  |       const contents = await response.readBody(); | ||||||
|  |       const refs = contents.match(/<a href.*\">/gi) || []; | ||||||
|       const downloadInfo = getDownloadInfo(refs, version, javaPackage); |       const downloadInfo = getDownloadInfo(refs, version, javaPackage); | ||||||
| 
 |  | ||||||
|       jdkFile = await tc.downloadTool(downloadInfo.url); |       jdkFile = await tc.downloadTool(downloadInfo.url); | ||||||
|       version = downloadInfo.version; |       version = downloadInfo.version; | ||||||
|       compressedFileExtension = IS_WINDOWS ? '.zip' : '.tar.gz'; |       compressedFileExtension = IS_WINDOWS ? '.zip' : '.tar.gz'; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user