| 
									
										
										
										
											2021-03-13 23:44:01 +00:00
										 |  |  | import * as core from '@actions/core'; | 
					
						
							| 
									
										
										
										
											2021-12-31 06:11:00 +00:00
										 |  |  | import { Action, BuildParameters, Cache, Docker, ImageTag, Output, CloudRunner } from './model'; | 
					
						
							| 
									
										
										
										
											2021-12-25 19:35:09 +00:00
										 |  |  | import { CLI } from './model/cli/cli'; | 
					
						
							| 
									
										
										
										
											2022-01-02 00:33:18 +00:00
										 |  |  | import CloudRunnerLogger from './model/cloud-runner/services/cloud-runner-logger'; | 
					
						
							| 
									
										
										
										
											2021-12-13 22:21:26 +00:00
										 |  |  | async function runMain() { | 
					
						
							| 
									
										
										
										
											2021-03-13 23:44:01 +00:00
										 |  |  |   try { | 
					
						
							| 
									
										
										
										
											2022-01-02 03:18:39 +00:00
										 |  |  |     CloudRunnerLogger.InitHook(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-13 23:44:01 +00:00
										 |  |  |     Action.checkCompatibility(); | 
					
						
							|  |  |  |     Cache.verify(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const { dockerfile, workspace, actionFolder } = Action; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const buildParameters = await BuildParameters.create(); | 
					
						
							|  |  |  |     const baseImage = new ImageTag(buildParameters); | 
					
						
							| 
									
										
										
										
											2021-12-29 16:55:37 +00:00
										 |  |  |     if ( | 
					
						
							|  |  |  |       buildParameters.cloudRunnerCluster && | 
					
						
							|  |  |  |       buildParameters.cloudRunnerCluster !== '' && | 
					
						
							|  |  |  |       buildParameters.cloudRunnerCluster !== 'local' | 
					
						
							|  |  |  |     ) { | 
					
						
							| 
									
										
										
										
											2021-12-25 19:38:48 +00:00
										 |  |  |       await CloudRunner.run(buildParameters, baseImage.toString()); | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |       core.info('Building locally'); | 
					
						
							| 
									
										
										
										
											2021-12-29 16:18:36 +00:00
										 |  |  |       const builtImage = await Docker.build({ path: actionFolder, dockerfile, baseImage }); | 
					
						
							| 
									
										
										
										
											2021-12-25 19:38:48 +00:00
										 |  |  |       await Docker.run(builtImage, { workspace, ...buildParameters }); | 
					
						
							| 
									
										
										
										
											2021-03-13 23:44:01 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Set output
 | 
					
						
							|  |  |  |     await Output.setBuildVersion(buildParameters.buildVersion); | 
					
						
							|  |  |  |   } catch (error) { | 
					
						
							| 
									
										
										
										
											2021-09-08 22:17:23 +00:00
										 |  |  |     core.setFailed((error as Error).message); | 
					
						
							| 
									
										
										
										
											2021-03-13 23:44:01 +00:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2021-12-25 19:35:09 +00:00
										 |  |  | const options = CLI.SetupCli(); | 
					
						
							|  |  |  | if (CLI.isCliMode(options)) { | 
					
						
							|  |  |  |   CLI.RunCli(options); | 
					
						
							|  |  |  | } else { | 
					
						
							|  |  |  |   runMain(); | 
					
						
							| 
									
										
										
										
											2021-12-13 22:21:26 +00:00
										 |  |  | } |