| 
									
										
										
										
											2019-08-20 10:27:52 -04:00
										 |  |  | import * as core from '@actions/core'; | 
					
						
							|  |  |  | import * as finder from './find-python'; | 
					
						
							| 
									
										
										
										
											2020-12-17 18:03:54 +03:00
										 |  |  | import * as finderPyPy from './find-pypy'; | 
					
						
							| 
									
										
										
										
											2019-08-20 10:27:52 -04:00
										 |  |  | import * as path from 'path'; | 
					
						
							| 
									
										
										
										
											2020-04-29 20:57:02 +03:00
										 |  |  | import * as os from 'os'; | 
					
						
							| 
									
										
										
										
											2019-08-20 10:27:52 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-17 18:03:54 +03:00
										 |  |  | function isPyPyVersion(versionSpec: string) { | 
					
						
							|  |  |  |   return versionSpec.startsWith('pypy-'); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-20 10:27:52 -04:00
										 |  |  | async function run() { | 
					
						
							|  |  |  |   try { | 
					
						
							| 
									
										
										
										
											2019-11-05 15:43:35 -05:00
										 |  |  |     let version = core.getInput('python-version'); | 
					
						
							| 
									
										
										
										
											2019-08-20 10:27:52 -04:00
										 |  |  |     if (version) { | 
					
						
							| 
									
										
										
										
											2020-04-29 20:57:02 +03:00
										 |  |  |       const arch: string = core.getInput('architecture') || os.arch(); | 
					
						
							| 
									
										
										
										
											2020-12-17 18:03:54 +03:00
										 |  |  |       if (isPyPyVersion(version)) { | 
					
						
							|  |  |  |         const installed = await finderPyPy.findPyPyVersion(version, arch); | 
					
						
							|  |  |  |         core.info( | 
					
						
							|  |  |  |           `Successfully setup PyPy ${installed.resolvedPyPyVersion} with Python (${installed.resolvedPythonVersion})` | 
					
						
							|  |  |  |         ); | 
					
						
							|  |  |  |       } else { | 
					
						
							|  |  |  |         const installed = await finder.findPythonVersion(version, arch); | 
					
						
							|  |  |  |         core.info( | 
					
						
							|  |  |  |           `Successfully setup ${installed.impl} (${installed.version})` | 
					
						
							|  |  |  |         ); | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2019-08-20 10:27:52 -04:00
										 |  |  |     } | 
					
						
							|  |  |  |     const matchersPath = path.join(__dirname, '..', '.github'); | 
					
						
							| 
									
										
										
										
											2020-03-09 10:16:37 +01:00
										 |  |  |     core.info(`##[add-matcher]${path.join(matchersPath, 'python.json')}`); | 
					
						
							| 
									
										
										
										
											2019-08-20 10:27:52 -04:00
										 |  |  |   } catch (err) { | 
					
						
							|  |  |  |     core.setFailed(err.message); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | run(); |