| 
									
										
										
										
											2019-12-22 14:05:15 +00:00
										 |  |  | import { exec } from '@actions/exec'; | 
					
						
							| 
									
										
										
										
											2019-12-22 17:07:55 +00:00
										 |  |  | import ImageTag from './image-tag'; | 
					
						
							| 
									
										
										
										
											2019-12-22 14:05:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-20 23:06:14 +00:00
										 |  |  | class Docker { | 
					
						
							| 
									
										
										
										
											2019-12-22 17:07:55 +00:00
										 |  |  |   static async build(buildParameters, silent = false) { | 
					
						
							| 
									
										
										
										
											2020-10-22 08:20:12 +00:00
										 |  |  |     const { path, dockerfile, baseImage } = buildParameters; | 
					
						
							| 
									
										
										
										
											2019-12-22 17:07:55 +00:00
										 |  |  |     const { version, platform } = baseImage; | 
					
						
							| 
									
										
										
										
											2019-12-22 14:05:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-22 17:07:55 +00:00
										 |  |  |     const tag = new ImageTag({ repository: '', name: 'unity-builder', version, platform }); | 
					
						
							|  |  |  |     const command = `docker build ${path} \
 | 
					
						
							|  |  |  |       --file ${dockerfile} \ | 
					
						
							|  |  |  |       --build-arg IMAGE=${baseImage} \ | 
					
						
							|  |  |  |       --tag ${tag}`;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-01 14:52:08 +00:00
										 |  |  |     await exec(command, undefined, { silent }); | 
					
						
							| 
									
										
										
										
											2019-12-22 14:05:15 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     return tag; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-22 21:24:46 +00:00
										 |  |  |   static async run(image, parameters, silent = false) { | 
					
						
							| 
									
										
										
										
											2020-01-20 23:06:14 +00:00
										 |  |  |     const { | 
					
						
							| 
									
										
										
										
											2020-04-26 18:22:09 +00:00
										 |  |  |       version, | 
					
						
							| 
									
										
										
										
											2020-01-20 23:06:14 +00:00
										 |  |  |       workspace, | 
					
						
							| 
									
										
										
										
											2020-08-22 15:59:08 +00:00
										 |  |  |       runnerTempPath, | 
					
						
							| 
									
										
										
										
											2020-01-20 23:06:14 +00:00
										 |  |  |       platform, | 
					
						
							|  |  |  |       projectPath, | 
					
						
							|  |  |  |       buildName, | 
					
						
							|  |  |  |       buildPath, | 
					
						
							|  |  |  |       buildFile, | 
					
						
							|  |  |  |       buildMethod, | 
					
						
							| 
									
										
										
										
											2020-04-26 18:22:09 +00:00
										 |  |  |       buildVersion, | 
					
						
							| 
									
										
										
										
											2020-06-24 22:02:05 +00:00
										 |  |  |       androidVersionCode, | 
					
						
							| 
									
										
										
										
											2020-07-06 01:41:21 +00:00
										 |  |  |       androidKeystoreName, | 
					
						
							|  |  |  |       androidKeystoreBase64, | 
					
						
							|  |  |  |       androidKeystorePass, | 
					
						
							|  |  |  |       androidKeyaliasName, | 
					
						
							|  |  |  |       androidKeyaliasPass, | 
					
						
							|  |  |  |       customParameters, | 
					
						
							| 
									
										
										
										
											2021-05-28 21:51:10 +00:00
										 |  |  |       sshAgent, | 
					
						
							| 
									
										
										
										
											2021-05-01 23:23:15 +00:00
										 |  |  |       chownFilesTo, | 
					
						
							| 
									
										
										
										
											2020-01-20 23:06:14 +00:00
										 |  |  |     } = parameters; | 
					
						
							| 
									
										
										
										
											2019-12-22 17:07:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-22 21:24:46 +00:00
										 |  |  |     const command = `docker run \
 | 
					
						
							| 
									
										
										
										
											2019-12-22 14:05:15 +00:00
										 |  |  |         --workdir /github/workspace \ | 
					
						
							|  |  |  |         --rm \ | 
					
						
							| 
									
										
										
										
											2020-01-07 22:46:19 +00:00
										 |  |  |         --env UNITY_LICENSE \ | 
					
						
							| 
									
										
										
										
											2020-03-04 16:49:04 +00:00
										 |  |  |         --env UNITY_LICENSE_FILE \ | 
					
						
							| 
									
										
										
										
											2020-01-11 22:23:42 +00:00
										 |  |  |         --env UNITY_EMAIL \ | 
					
						
							|  |  |  |         --env UNITY_PASSWORD \ | 
					
						
							|  |  |  |         --env UNITY_SERIAL \ | 
					
						
							| 
									
										
										
										
											2020-04-26 18:22:09 +00:00
										 |  |  |         --env UNITY_VERSION="${version}" \ | 
					
						
							| 
									
										
										
										
											2021-03-28 22:06:22 +00:00
										 |  |  |         --env USYM_UPLOAD_AUTH_TOKEN \ | 
					
						
							| 
									
										
										
										
											2020-02-01 19:28:45 +00:00
										 |  |  |         --env PROJECT_PATH="${projectPath}" \ | 
					
						
							|  |  |  |         --env BUILD_TARGET="${platform}" \ | 
					
						
							|  |  |  |         --env BUILD_NAME="${buildName}" \ | 
					
						
							|  |  |  |         --env BUILD_PATH="${buildPath}" \ | 
					
						
							|  |  |  |         --env BUILD_FILE="${buildFile}" \ | 
					
						
							|  |  |  |         --env BUILD_METHOD="${buildMethod}" \ | 
					
						
							| 
									
										
										
										
											2020-04-26 18:22:09 +00:00
										 |  |  |         --env VERSION="${buildVersion}" \ | 
					
						
							| 
									
										
										
										
											2020-06-24 22:02:05 +00:00
										 |  |  |         --env ANDROID_VERSION_CODE="${androidVersionCode}" \ | 
					
						
							| 
									
										
										
										
											2020-07-06 01:41:21 +00:00
										 |  |  |         --env ANDROID_KEYSTORE_NAME="${androidKeystoreName}" \ | 
					
						
							|  |  |  |         --env ANDROID_KEYSTORE_BASE64="${androidKeystoreBase64}" \ | 
					
						
							|  |  |  |         --env ANDROID_KEYSTORE_PASS="${androidKeystorePass}" \ | 
					
						
							|  |  |  |         --env ANDROID_KEYALIAS_NAME="${androidKeyaliasName}" \ | 
					
						
							|  |  |  |         --env ANDROID_KEYALIAS_PASS="${androidKeyaliasPass}" \ | 
					
						
							| 
									
										
										
										
											2020-02-01 19:28:45 +00:00
										 |  |  |         --env CUSTOM_PARAMETERS="${customParameters}" \ | 
					
						
							| 
									
										
										
										
											2021-05-01 23:23:15 +00:00
										 |  |  |         --env CHOWN_FILES_TO="${chownFilesTo}" \ | 
					
						
							| 
									
										
										
										
											2019-12-22 14:05:15 +00:00
										 |  |  |         --env GITHUB_REF \ | 
					
						
							|  |  |  |         --env GITHUB_SHA \ | 
					
						
							|  |  |  |         --env GITHUB_REPOSITORY \ | 
					
						
							|  |  |  |         --env GITHUB_ACTOR \ | 
					
						
							|  |  |  |         --env GITHUB_WORKFLOW \ | 
					
						
							|  |  |  |         --env GITHUB_HEAD_REF \ | 
					
						
							|  |  |  |         --env GITHUB_BASE_REF \ | 
					
						
							|  |  |  |         --env GITHUB_EVENT_NAME \ | 
					
						
							|  |  |  |         --env GITHUB_WORKSPACE=/github/workspace \ | 
					
						
							|  |  |  |         --env GITHUB_ACTION \ | 
					
						
							|  |  |  |         --env GITHUB_EVENT_PATH \ | 
					
						
							|  |  |  |         --env RUNNER_OS \ | 
					
						
							|  |  |  |         --env RUNNER_TOOL_CACHE \ | 
					
						
							|  |  |  |         --env RUNNER_TEMP \ | 
					
						
							|  |  |  |         --env RUNNER_WORKSPACE \ | 
					
						
							| 
									
										
										
										
											2021-05-28 21:51:10 +00:00
										 |  |  |         ${sshAgent ? '--env SSH_AUTH_SOCK=/ssh-agent' : ''} \ | 
					
						
							| 
									
										
										
										
											2019-12-22 14:05:15 +00:00
										 |  |  |         --volume "/var/run/docker.sock":"/var/run/docker.sock" \ | 
					
						
							| 
									
										
										
										
											2021-02-03 16:39:52 +00:00
										 |  |  |         --volume "${runnerTempPath}/_github_home":"/root" \ | 
					
						
							| 
									
										
										
										
											2020-08-22 15:59:08 +00:00
										 |  |  |         --volume "${runnerTempPath}/_github_workflow":"/github/workflow" \ | 
					
						
							| 
									
										
										
										
											2019-12-22 17:07:55 +00:00
										 |  |  |         --volume "${workspace}":"/github/workspace" \ | 
					
						
							| 
									
										
										
										
											2021-05-28 21:51:10 +00:00
										 |  |  |         ${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \ | 
					
						
							|  |  |  |         ${sshAgent ? '--volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro' : ''} \ | 
					
						
							| 
									
										
										
										
											2019-12-22 21:24:46 +00:00
										 |  |  |         ${image}`;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-01 14:52:08 +00:00
										 |  |  |     await exec(command, undefined, { silent }); | 
					
						
							| 
									
										
										
										
											2019-12-22 14:05:15 +00:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2020-01-20 23:06:14 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | export default Docker; |